diff --git a/app/setups/generators.php b/app/setups/generators.php index 5fd7702..7db3889 100644 --- a/app/setups/generators.php +++ b/app/setups/generators.php @@ -4,8 +4,8 @@ use Psr\Container\ContainerInterface; return [ ProVM\Generator\Migration::class => function(ContainerInterface $container) { return new ProVM\Generator\Migration( - $container->get(ProVM\Concept\Database\Connection::class), $container->get(ProVM\Concept\Database::class), + $container->get(ProVM\Concept\Database\Connection::class), $container->get(ProVM\Concept\Database\Query\Builder::class), $container->get(ProVM\Repository\Table::class), $container->get(Psr\Log\LoggerInterface::class), @@ -14,5 +14,19 @@ return [ $container->get('paths.migrations'), $container->get('skips') ); + }, + ProVM\Generator\Seed::class => function(ContainerInterface $container) { + return new ProVM\Generator\Seed( + $container->get(ProVM\Concept\Database::class), + $container->get(ProVM\Concept\Database\Connection::class), + $container->get(ProVM\Concept\Database\Query\Builder::class), + $container->get(ProVM\Repository\Table::class), + $container->get(ProVM\Repository\Data::class), + $container->get(Psr\Log\LoggerInterface::class), + $container->get('DB_DATABASE'), + $container->get('paths.seeds'), + new DateTimeImmutable($container->get('start_date')), + $container->get('skips') + ); } ]; \ No newline at end of file diff --git a/app/src/Command/GenerateSeeds.php b/app/src/Command/GenerateSeeds.php new file mode 100644 index 0000000..5a24cd0 --- /dev/null +++ b/app/src/Command/GenerateSeeds.php @@ -0,0 +1,34 @@ +addOption('dry-run', 'd', Console\Input\InputOption::VALUE_OPTIONAL, default: false); + } + + public function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output): int + { + $io = new Console\Style\SymfonyStyle($input, $output); + $io->title('Generate Seeds'); + + $dryRun = $input->getOption('dry-run'); + + $this->seedGenerator->generate($io, $dryRun); + + return Console\Command\Command::SUCCESS; + } +} \ No newline at end of file