diff --git a/src/Console/DacapoCommand.php b/src/Console/DacapoCommand.php index a93444df..9f982478 100644 --- a/src/Console/DacapoCommand.php +++ b/src/Console/DacapoCommand.php @@ -2,8 +2,6 @@ namespace UcanLab\LaravelDacapo\Console; -use DateTime; -use Exception; use Illuminate\Console\ConfirmableTrait; use UcanLab\LaravelDacapo\Dacapo\UseCase\Console\DacapoCommandUseCase; @@ -24,7 +22,6 @@ class DacapoCommand extends Command {--no-migrate : Do not migrate} {--seed : Seed the database with records} {--refresh : Migrate refresh (for debug)} - {--prefix=1970-01-01 : Prefix date of the output migration file} '; /** @@ -54,15 +51,7 @@ public function handle(): void { $this->call('dacapo:clear', ['--force' => true]); - try { - $prefixDate = new DateTime($this->option('prefix')); - } catch (Exception $exception) { - $this->error('Error: Set the --prefix option to a value that can be converted to a date type.'); - - return; - } - - $fileList = $this->useCase->handle($prefixDate); + $fileList = $this->useCase->handle(); foreach ($fileList as $file) { $this->line(sprintf('Generated: %s', $file->getName())); diff --git a/src/Dacapo/UseCase/Console/DacapoCommandUseCase.php b/src/Dacapo/UseCase/Console/DacapoCommandUseCase.php index 67d73281..44bc74f0 100644 --- a/src/Dacapo/UseCase/Console/DacapoCommandUseCase.php +++ b/src/Dacapo/UseCase/Console/DacapoCommandUseCase.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Dacapo\UseCase\Console; -use DateTime; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Migration\MigrationFileList; use UcanLab\LaravelDacapo\Dacapo\UseCase\Generator\MigrationGenerator; use UcanLab\LaravelDacapo\Dacapo\UseCase\Port\SchemaListRepository; @@ -24,11 +23,10 @@ public function __construct(SchemaListRepository $repository, MigrationGenerator } /** - * @param DateTime $prefixDate * @return MigrationFileList */ - public function handle(DateTime $prefixDate): MigrationFileList + public function handle(): MigrationFileList { - return $this->generator->generate($prefixDate, $this->repository->get()); + return $this->generator->generate($this->repository->get()); } } diff --git a/src/Dacapo/UseCase/Converter/SchemaToConstraintForeignKeyMigrationConverter.php b/src/Dacapo/UseCase/Converter/SchemaToConstraintForeignKeyMigrationConverter.php index 2153666e..54ad39bc 100644 --- a/src/Dacapo/UseCase/Converter/SchemaToConstraintForeignKeyMigrationConverter.php +++ b/src/Dacapo/UseCase/Converter/SchemaToConstraintForeignKeyMigrationConverter.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Dacapo\UseCase\Converter; -use DateTime; use Illuminate\Support\Str; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\Schema; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\SchemaList; @@ -12,16 +11,7 @@ class SchemaToConstraintForeignKeyMigrationConverter { const MIGRATION_COLUMN_INDENT = ' '; - protected DateTime $prefixDate; - - /** - * SchemaToConstraintForeignKeyMigrationConverter constructor. - * @param DateTime $prefixDate - */ - public function __construct(DateTime $prefixDate) - { - $this->prefixDate = $prefixDate; - } + protected Schema $schema; /** * @param SchemaList $schemaList @@ -40,17 +30,6 @@ public function convertList(SchemaList $schemaList): MigrationFileList return $fileList; } - /** - * @param DateTime $prefixDate - * @return $this - */ - public function setPrefixDate(DateTime $prefixDate): self - { - $this->prefixDate = $prefixDate; - - return $this; - } - /** * @param Schema $schema * @return MigrationFile @@ -66,7 +45,7 @@ public function convert(Schema $schema): MigrationFile */ protected function makeMigrationFileName(Schema $schema): string { - return sprintf('%s_000003_%s.php', $this->prefixDate->format('Y_m_d'), $this->makeMigrationName($schema)); + return sprintf('1970_01_01_000003_%s.php', $this->makeMigrationName($schema)); } /** diff --git a/src/Dacapo/UseCase/Converter/SchemaToCreateIndexMigrationConverter.php b/src/Dacapo/UseCase/Converter/SchemaToCreateIndexMigrationConverter.php index 55ea041e..256d7b4d 100644 --- a/src/Dacapo/UseCase/Converter/SchemaToCreateIndexMigrationConverter.php +++ b/src/Dacapo/UseCase/Converter/SchemaToCreateIndexMigrationConverter.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Dacapo\UseCase\Converter; -use DateTime; use Illuminate\Support\Str; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\Schema; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\SchemaList; @@ -12,27 +11,7 @@ class SchemaToCreateIndexMigrationConverter { const MIGRATION_COLUMN_INDENT = ' '; - protected DateTime $prefixDate; - - /** - * SchemaToCreateIndexMigrationConverter constructor. - * @param DateTime $prefixDate - */ - public function __construct(DateTime $prefixDate) - { - $this->prefixDate = $prefixDate; - } - - /** - * @param DateTime $prefixDate - * @return $this - */ - public function setPrefixDate(DateTime $prefixDate): self - { - $this->prefixDate = $prefixDate; - - return $this; - } + protected Schema $schema; /** * @param SchemaList $schemaList @@ -66,7 +45,7 @@ public function convert(Schema $schema): MigrationFile */ protected function makeMigrationFileName(Schema $schema): string { - return sprintf('%s_000002_%s.php', $this->prefixDate->format('Y_m_d'), $this->makeMigrationName($schema)); + return sprintf('1970_01_01_000002_%s.php', $this->makeMigrationName($schema)); } /** diff --git a/src/Dacapo/UseCase/Converter/SchemaToCreateTableMigrationConverter.php b/src/Dacapo/UseCase/Converter/SchemaToCreateTableMigrationConverter.php index 501b4613..60fea0a6 100644 --- a/src/Dacapo/UseCase/Converter/SchemaToCreateTableMigrationConverter.php +++ b/src/Dacapo/UseCase/Converter/SchemaToCreateTableMigrationConverter.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Dacapo\UseCase\Converter; -use DateTime; use Illuminate\Support\Str; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\Schema; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\SchemaList; @@ -15,28 +14,10 @@ class SchemaToCreateTableMigrationConverter const MIGRATION_COLUMN_INDENT = ' '; protected DatabaseBuilder $databaseBuilder; - protected DateTime $prefixDate; - /** - * SchemaToCreateTableMigrationConverter constructor. - * @param DatabaseBuilder $databaseBuilder - * @param DateTime $prefixDate - */ - public function __construct(DatabaseBuilder $databaseBuilder, DateTime $prefixDate) + public function __construct(DatabaseBuilder $databaseBuilder) { $this->databaseBuilder = $databaseBuilder; - $this->prefixDate = $prefixDate; - } - - /** - * @param DateTime $prefixDate - * @return $this - */ - public function setPrefixDate(DateTime $prefixDate): self - { - $this->prefixDate = $prefixDate; - - return $this; } /** @@ -71,7 +52,7 @@ public function convert(Schema $schema): MigrationFile */ protected function makeMigrationFileName(Schema $schema): string { - return sprintf('%s_000001_%s.php', $this->prefixDate->format('Y_m_d'), $this->makeMigrationName($schema)); + return sprintf('1970_01_01_000001_%s.php', $this->makeMigrationName($schema)); } /** diff --git a/src/Dacapo/UseCase/Generator/MigrationGenerator.php b/src/Dacapo/UseCase/Generator/MigrationGenerator.php index 321a7a20..c8a319a2 100644 --- a/src/Dacapo/UseCase/Generator/MigrationGenerator.php +++ b/src/Dacapo/UseCase/Generator/MigrationGenerator.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Dacapo\UseCase\Generator; -use DateTime; use UcanLab\LaravelDacapo\Dacapo\Domain\Entity\SchemaList; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Migration\MigrationFileList; use UcanLab\LaravelDacapo\Dacapo\UseCase\Converter\SchemaToConstraintForeignKeyMigrationConverter; @@ -37,16 +36,11 @@ public function __construct( } /** - * @param DateTime $prefixDate * @param SchemaList $schemaList * @return MigrationFileList */ - public function generate(DateTime $prefixDate, SchemaList $schemaList): MigrationFileList + public function generate(SchemaList $schemaList): MigrationFileList { - $this->schemaToCreateTableMigrationConverter->setPrefixDate($prefixDate); - $this->schemaToCreateIndexMigrationConverter->setPrefixDate($prefixDate); - $this->schemaToConstraintForeignKeyMigrationConverter->setPrefixDate($prefixDate); - $tableFileList = $this->generateCreateTable($schemaList); $indexFileList = $this->generateCreateIndex($schemaList); $foreignKeyFileList = $this->generateConstraintForeignKey($schemaList); diff --git a/tests/Console/DacapoClearCommandTest.php b/tests/Console/DacapoClearCommandTest.php index 61019b22..fdd47fe5 100644 --- a/tests/Console/DacapoClearCommandTest.php +++ b/tests/Console/DacapoClearCommandTest.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Test\App\UseCase\Console; -use DateTime; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Migration\MigrationFile; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Migration\MigrationFileList; use UcanLab\LaravelDacapo\Dacapo\Infra\Adapter\InMemoryMigrationListRepository; @@ -15,7 +14,6 @@ class DacapoClearCommandTest extends TestCase public function testResolve(): void { $this->app->register(ConsoleServiceProvider::class); - $this->instance(DateTime::class, new DateTime()); $this->instance(MigrationListRepository::class, new InMemoryMigrationListRepository(new MigrationFileList([ new MigrationFile('1970_01_01_000000_create_users_table.php', ''), new MigrationFile('1970_01_01_000000_create_password_resets_table.php', ''), diff --git a/tests/Console/DacapoCommandTest.php b/tests/Console/DacapoCommandTest.php index 2228c735..18857a08 100644 --- a/tests/Console/DacapoCommandTest.php +++ b/tests/Console/DacapoCommandTest.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Test\App\UseCase\Console; -use DateTime; use Illuminate\Support\Facades\File; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Migration\MigrationFile; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Migration\MigrationFileList; @@ -30,7 +29,6 @@ public function testMysql(MigrationFileList $expectedMigrationFileList, SchemaFi $this->app->register(ConsoleServiceProvider::class); $actualMigrationFileList = new MigrationFileList(); - $this->instance(DateTime::class, new DateTime()); $this->instance(DatabaseBuilder::class, new MysqlDatabaseBuilder()); $this->instance(SchemaListRepository::class, new InMemorySchemaListRepository($schemaFileList)); $this->instance(MigrationListRepository::class, new InMemoryMigrationListRepository($actualMigrationFileList)); @@ -83,7 +81,6 @@ public function testPostgresql(MigrationFileList $expectedMigrationFileList, Sch $this->app->register(ConsoleServiceProvider::class); $actualMigrationFileList = new MigrationFileList(); - $this->instance(DateTime::class, new DateTime()); $this->instance(DatabaseBuilder::class, new PostgresqlDatabaseBuilder()); $this->instance(SchemaListRepository::class, new InMemorySchemaListRepository($schemaFileList)); $this->instance(MigrationListRepository::class, new InMemoryMigrationListRepository($actualMigrationFileList)); diff --git a/tests/Console/DacapoInitCommandTest.php b/tests/Console/DacapoInitCommandTest.php index cc459f88..21950d6c 100644 --- a/tests/Console/DacapoInitCommandTest.php +++ b/tests/Console/DacapoInitCommandTest.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Test\App\UseCase\Console; -use DateTime; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Schema\SchemaFileList; use UcanLab\LaravelDacapo\Dacapo\Infra\Adapter\InMemorySchemaListRepository; use UcanLab\LaravelDacapo\Dacapo\UseCase\Port\SchemaListRepository; @@ -14,7 +13,6 @@ class DacapoInitCommandTest extends TestCase public function testResolve(): void { $this->app->register(ConsoleServiceProvider::class); - $this->instance(DateTime::class, new DateTime()); $this->instance(SchemaListRepository::class, new InMemorySchemaListRepository(new SchemaFileList())); $this->artisan('dacapo:init')->assertExitCode(0); } diff --git a/tests/Console/DacapoUninstallCommandTest.php b/tests/Console/DacapoUninstallCommandTest.php index 11e09f79..c5f00a4a 100644 --- a/tests/Console/DacapoUninstallCommandTest.php +++ b/tests/Console/DacapoUninstallCommandTest.php @@ -2,7 +2,6 @@ namespace UcanLab\LaravelDacapo\Test\App\UseCase\Console; -use DateTime; use UcanLab\LaravelDacapo\Dacapo\Domain\ValueObject\Schema\SchemaFileList; use UcanLab\LaravelDacapo\Dacapo\Infra\Adapter\InMemorySchemaListRepository; use UcanLab\LaravelDacapo\Dacapo\UseCase\Port\SchemaListRepository; @@ -14,7 +13,6 @@ class DacapoUninstallCommandTest extends TestCase public function testResolve(): void { $this->app->register(ConsoleServiceProvider::class); - $this->instance(DateTime::class, new DateTime()); $this->instance(SchemaListRepository::class, new InMemorySchemaListRepository(new SchemaFileList())); $this->artisan('dacapo:uninstall')->assertExitCode(0); }