| 1: | <?php |
| 2: | |
| 3: | namespace Aurora\System\Console\Commands\Migrations; |
| 4: | |
| 5: | use Illuminate\Database\Migrations\MigrationRepositoryInterface; |
| 6: | use Symfony\Component\Console\Command\Command; |
| 7: | use Symfony\Component\Console\Input\InputInterface; |
| 8: | use Symfony\Component\Console\Input\InputOption; |
| 9: | use Symfony\Component\Console\Output\OutputInterface; |
| 10: | |
| 11: | class InstallCommand extends Command |
| 12: | { |
| 13: | |
| 14: | |
| 15: | |
| 16: | |
| 17: | |
| 18: | protected $repository; |
| 19: | |
| 20: | |
| 21: | |
| 22: | |
| 23: | |
| 24: | |
| 25: | |
| 26: | public function __construct(MigrationRepositoryInterface $repository) |
| 27: | { |
| 28: | parent::__construct(); |
| 29: | |
| 30: | $this->repository = $repository; |
| 31: | } |
| 32: | |
| 33: | protected function configure(): void |
| 34: | { |
| 35: | $this->setName('migrate:install') |
| 36: | ->setDescription('Create the migration repository') |
| 37: | ->addOption('database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'); |
| 38: | } |
| 39: | |
| 40: | protected function execute(InputInterface $input, OutputInterface $output): int |
| 41: | { |
| 42: | $this->repository->setSource($input->getOption('database')); |
| 43: | |
| 44: | $this->repository->createRepository(); |
| 45: | |
| 46: | $output->writeln('Migration table created successfully.'); |
| 47: | |
| 48: | return Command::SUCCESS; |
| 49: | } |
| 50: | } |
| 51: | |