From dbca8f3f93c6fbc76c097ff148ba2cd64ab04b18 Mon Sep 17 00:00:00 2001 From: MohammadAlhallaq Date: Mon, 15 Dec 2025 21:29:44 +0300 Subject: [PATCH 1/3] fix: missing migrations table when installing auth --- .../src/Migrations/MigrationManager.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/database/src/Migrations/MigrationManager.php b/packages/database/src/Migrations/MigrationManager.php index 1e1b43b62..76b55cfcd 100644 --- a/packages/database/src/Migrations/MigrationManager.php +++ b/packages/database/src/Migrations/MigrationManager.php @@ -188,6 +188,11 @@ public function validate(): void public function executeUp(MigratesUp $migration): void { + + if (! $migration instanceof CreateMigrationsTable) { + $this->ensureMigrationsTableExists(); + } + if ($migration instanceof ShouldMigrate && $migration->shouldMigrate($this->database) === false) { return; } @@ -334,4 +339,20 @@ private function getMinifiedSqlFromStatement(?QueryStatement $statement): string return $sql; } + + private function ensureMigrationsTableExists(): void + { + try { + Migration::select() + ->onDatabase($this->onDatabase) + ->limit(1) + ->all(); + } catch (QueryWasInvalid $exception) { + if ($this->dialect->isTableNotFoundError($exception)) { + $this->executeUp(new CreateMigrationsTable()); + } else { + throw $exception; + } + } + } } From 7671ff6cf034ae89549d4a3e63bd6c402e57f547 Mon Sep 17 00:00:00 2001 From: MohammadAlhallaq Date: Tue, 16 Dec 2025 20:33:10 +0300 Subject: [PATCH 2/3] fix: missing migrations table when installing auth --- .../src/Installer/AuthenticationInstaller.php | 6 +++ .../src/Migrations/MigrationManager.php | 38 +++++++++---------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/packages/auth/src/Installer/AuthenticationInstaller.php b/packages/auth/src/Installer/AuthenticationInstaller.php index d80395421..f9950f420 100644 --- a/packages/auth/src/Installer/AuthenticationInstaller.php +++ b/packages/auth/src/Installer/AuthenticationInstaller.php @@ -9,6 +9,8 @@ use Tempest\Container\Container; use Tempest\Core\Installer; use Tempest\Core\PublishesFiles; +use Tempest\Database\Database; +use Tempest\Database\Migrations\CreateMigrationsTable; use Tempest\Database\Migrations\MigrationManager; use function Tempest\root_path; @@ -36,6 +38,10 @@ public function install(): void $this->publishImports(); if ($migration && $this->shouldMigrate()) { + if (! $this->migrationManager->doesMigrationsTableExist()) { + $this->migrationManager->executeUp(new CreateMigrationsTable()); + } + $this->migrationManager->executeUp( migration: $this->container->get(to_fqcn($migration, root: root_path())), ); diff --git a/packages/database/src/Migrations/MigrationManager.php b/packages/database/src/Migrations/MigrationManager.php index 76b55cfcd..3921700a9 100644 --- a/packages/database/src/Migrations/MigrationManager.php +++ b/packages/database/src/Migrations/MigrationManager.php @@ -188,11 +188,6 @@ public function validate(): void public function executeUp(MigratesUp $migration): void { - - if (! $migration instanceof CreateMigrationsTable) { - $this->ensureMigrationsTableExists(); - } - if ($migration instanceof ShouldMigrate && $migration->shouldMigrate($this->database) === false) { return; } @@ -292,6 +287,23 @@ public function executeDown(MigratesDown $migration): void event(new MigrationRolledBack($migration->name)); } + public function doesMigrationsTableExist(): bool + { + try { + Migration::select() + ->onDatabase($this->onDatabase) + ->limit(1) + ->all(); + } catch (QueryWasInvalid $exception) { + if ($this->dialect->isTableNotFoundError($exception)) { + return false; + } else { + throw $exception; + } + } + return true; + } + /** * @return \Tempest\Database\Migrations\TableMigrationDefinition[] */ @@ -339,20 +351,4 @@ private function getMinifiedSqlFromStatement(?QueryStatement $statement): string return $sql; } - - private function ensureMigrationsTableExists(): void - { - try { - Migration::select() - ->onDatabase($this->onDatabase) - ->limit(1) - ->all(); - } catch (QueryWasInvalid $exception) { - if ($this->dialect->isTableNotFoundError($exception)) { - $this->executeUp(new CreateMigrationsTable()); - } else { - throw $exception; - } - } - } } From fa91e3b649360fcdb47dd8a939c1960d05033396 Mon Sep 17 00:00:00 2001 From: MohammadAlhallaq Date: Tue, 16 Dec 2025 20:40:32 +0300 Subject: [PATCH 3/3] chore: remove unused namesapce --- packages/auth/src/Installer/AuthenticationInstaller.php | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/auth/src/Installer/AuthenticationInstaller.php b/packages/auth/src/Installer/AuthenticationInstaller.php index f9950f420..863df8d0f 100644 --- a/packages/auth/src/Installer/AuthenticationInstaller.php +++ b/packages/auth/src/Installer/AuthenticationInstaller.php @@ -9,7 +9,6 @@ use Tempest\Container\Container; use Tempest\Core\Installer; use Tempest\Core\PublishesFiles; -use Tempest\Database\Database; use Tempest\Database\Migrations\CreateMigrationsTable; use Tempest\Database\Migrations\MigrationManager;