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'))));
 }