protected function execute(InputInterface $input, OutputInterface $output) { $environment = $input->getArgument('env'); $config = SchematicHelper::init($output, array('fileType' => $input->getOption('fileType'), 'directory' => $input->getOption('dir'), 'environment' => $environment)); $directory = $config['directory']; $fileType = $config['fileType']; $database = $config['driver']; $databaseAdapterClass = '\\Library\\Database\\Adapters\\' . ucfirst($database) . 'Adapter'; $fileAdapterClass = '\\Library\\Migrations\\FileApi\\Adapters\\' . ucfirst($fileType) . 'Adapter'; $schematic = new Schematic(new Log(), new $databaseAdapterClass(), $output, new $fileAdapterClass($output)); $schematic->setFileFormatType($fileType)->setDirectory($directory)->setEnvironmentConfigs($config['environmentConfigs'])->run(); }
protected function execute(InputInterface $input, OutputInterface $output) { $config = SchematicHelper::init($output, array('fileType' => $input->getOption('fileType'), 'directory' => $input->getOption('dir'), 'environment' => null)); $directory = $config['directory']; $fileType = $config['fileType']; $helper = $this->getHelper('question'); $output->writeln('<info>Generating schema file</info>'); $question = new Question('<fg=blue>Please enter a database name:</fg=blue> '); $databaseName = $helper->ask($input, $output, $question); $question = new Question('<fg=blue>Please enter a table name:</fg=blue> '); $tableName = $helper->ask($input, $output, $question); $output->writeln('<info>Table name:</info> ' . $tableName); $schematicFileGenerator = new SchematicFileGenerator(); $schematicFileGenerator->setFileFormatType($fileType)->setDirectory($directory)->setName($databaseName)->setDatabaseName($databaseName)->setTableName($tableName)->run(); $output->writeln('<info>Generated schema file (</info>' . $schematicFileGenerator->getSchemaFile() . '<info>) successfully!</info>'); }
public function testInitReturnsArray() { $this->assertTrue(is_array(\Library\Helpers\SchematicHelper::init($this->consoleOutput, array('fileType' => 'yaml', 'environment' => 'localhost')))); }