Skip to content

Commit

Permalink
Use enum for migration status instead of string
Browse files Browse the repository at this point in the history
  • Loading branch information
byjg committed Sep 14, 2024
1 parent ca08ee5 commit a5df495
Show file tree
Hide file tree
Showing 6 changed files with 126 additions and 113 deletions.
14 changes: 7 additions & 7 deletions src/Database/AbstractDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
use ByJG\AnyDataset\Db\Factory;
use ByJG\DbMigration\Exception\DatabaseNotVersionedException;
use ByJG\DbMigration\Exception\OldVersionSchemaException;
use ByJG\DbMigration\Migration;
use ByJG\DbMigration\MigrationStatus;
use Exception;
use Psr\Http\Message\UriInterface;

Expand Down Expand Up @@ -81,16 +81,16 @@ public function getVersion(): array
}

/**
* @param string $version
* @param string $status
* @param int $version
* @param MigrationStatus $status
*/
public function setVersion(string $version, string $status): void
public function setVersion(int $version, MigrationStatus $status): void
{
$this->getDbDriver()->execute(
'UPDATE ' . $this->getMigrationTable() . ' SET version = :version, status = :status',
[
'version' => $version,
'status' => $status,
'status' => $status->value,
]
);
}
Expand All @@ -107,7 +107,7 @@ protected function checkExistsVersion(): void
$this->getDbDriver()->execute(sprintf(
"insert into %s values(0, '%s')",
$this->getMigrationTable(),
Migration::VERSION_STATUS_UNKNOWN)
MigrationStatus::unknown->value)
);
}
}
Expand All @@ -120,7 +120,7 @@ public function updateVersionTable(): void
$currentVersion = $this->getDbDriver()->getScalar(sprintf('select version from %s', $this->getMigrationTable()));
$this->getDbDriver()->execute(sprintf('drop table %s', $this->getMigrationTable()));
$this->createVersion();
$this->setVersion($currentVersion, Migration::VERSION_STATUS_UNKNOWN);
$this->setVersion($currentVersion, MigrationStatus::unknown);
}

protected function isTableExists(?string $schema, string $table): bool
Expand Down
5 changes: 3 additions & 2 deletions src/Database/DatabaseInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@
use ByJG\AnyDataset\Db\DbDriverInterface;
use ByJG\DbMigration\Exception\DatabaseNotVersionedException;
use ByJG\DbMigration\Exception\OldVersionSchemaException;
use ByJG\DbMigration\MigrationStatus;
use Psr\Http\Message\UriInterface;

interface DatabaseInterface
{
public static function schema();

public static function prepareEnvironment(UriInterface $dbDriver);
public static function prepareEnvironment(UriInterface $uri);

public function createDatabase(): void;

Expand All @@ -28,7 +29,7 @@ public function updateVersionTable(): void;

public function executeSql(string $sql): void;

public function setVersion(string $version, string $status): void;
public function setVersion(int $version, MigrationStatus $status): void;

public function createVersion(): void;

Expand Down
Loading

0 comments on commit a5df495

Please sign in to comment.