/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $manager = new SqlManager();
     $configOptions = array();
     if ($sqlDir = $input->getOption('sql-dir')) {
         $configOptions['propel']['paths']['sqlDir'] = $sqlDir;
     }
     $generatorConfig = $this->getGeneratorConfig($configOptions, $input);
     $connections = array();
     $optionConnections = $input->getOption('connection');
     if (!$optionConnections) {
         $connections = $generatorConfig->getBuildConnections();
     } else {
         foreach ($optionConnections as $connection) {
             list($name, $dsn, $infos) = $this->parseConnection($connection);
             $connections[$name] = array_merge(array('dsn' => $dsn), $infos);
         }
     }
     $manager->setConnections($connections);
     $manager->setLoggerClosure(function ($message) use($input, $output) {
         if ($input->getOption('verbose')) {
             $output->writeln($message);
         }
     });
     $manager->setWorkingDirectory($generatorConfig->getSection('paths')['sqlDir']);
     $manager->insertSql();
 }
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $generatorConfig = $this->getGeneratorConfig(array('propel.platform.class' => $input->getOption('platform'), 'propel.database.schema' => $input->getOption('schema-name'), 'propel.database.encoding' => $input->getOption('encoding'), 'propel.tablePrefix' => $input->getOption('table-prefix'), 'propel.useLeftJoinsInDoJoinMethods' => true, 'propel.mysql.tableType' => $input->getOption('mysql-engine'), 'propel.mysql.tableEngineKeyword' => 'ENGINE'), $input);
     $this->createDirectory($input->getOption('output-dir'));
     $manager = new SqlManager();
     $connections = array();
     $optionConnections = $input->getOption('connection');
     if (!$optionConnections) {
         $connections = $generatorConfig->getBuildConnections($input->getOption('input-dir'));
     } else {
         foreach ($optionConnections as $connection) {
             list($name, $dsn, $infos) = $this->parseConnection($connection);
             $connections[$name] = array_merge(array('dsn' => $dsn), $infos);
         }
     }
     $manager->setConnections($connections);
     $manager->setValidate($input->getOption('validate'));
     $manager->setGeneratorConfig($generatorConfig);
     $manager->setSchemas($this->getSchemas($input->getOption('input-dir')));
     $manager->setLoggerClosure(function ($message) use($input, $output) {
         if ($input->getOption('verbose')) {
             $output->writeln($message);
         }
     });
     $manager->setWorkingDirectory($input->getOption('output-dir'));
     $manager->buildSql();
 }
Пример #3
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $configOptions = array();
     foreach ($input->getOptions() as $key => $option) {
         if (null !== $option) {
             switch ($key) {
                 case 'input-dir':
                     if ('.' !== $option) {
                         $configOptions['propel']['paths']['schemaDir'] = $option;
                     }
                     break;
                 case 'output-dir':
                     $configOptions['propel']['paths']['sqlDir'] = $option;
                     break;
                 case 'schema-name':
                     $configOptions['propel']['generator']['schema']['basename'] = $option;
                     break;
                 case 'table-prefix':
                     $configOptions['propel']['generator']['tablePrefix'] = $option;
                     break;
                 case 'mysql-engine':
                     $configOptions['propel']['database']['adapters']['mysql']['tableType'] = $option;
                     break;
             }
         }
     }
     $generatorConfig = $this->getGeneratorConfig($configOptions, $input);
     $this->createDirectory($generatorConfig->getSection('paths')['sqlDir']);
     $manager = new SqlManager();
     $connections = array();
     $optionConnections = $input->getOption('connection');
     if (!$optionConnections) {
         $connections = $generatorConfig->getBuildConnections();
     } else {
         foreach ($optionConnections as $connection) {
             list($name, $dsn, $infos) = $this->parseConnection($connection);
             $connections[$name] = array_merge(array('dsn' => $dsn), $infos);
         }
     }
     $manager->setConnections($connections);
     $manager->setValidate($input->getOption('validate'));
     $manager->setGeneratorConfig($generatorConfig);
     $manager->setSchemas($this->getSchemas($generatorConfig->getSection('paths')['schemaDir'], $input->getOption('recursive')));
     $manager->setLoggerClosure(function ($message) use($input, $output) {
         if ($input->getOption('verbose')) {
             $output->writeln($message);
         }
     });
     $manager->setWorkingDirectory($generatorConfig->getSection('paths')['sqlDir']);
     if ($manager->existSqlMap()) {
         $output->writeln("<info>sqldb.map won't be saved because it already exists. Remove it to generate a new map.</info>");
     }
     $manager->buildSql();
 }
Пример #4
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $manager = new SqlManager();
     if (!$input->hasOption('connection')) {
         throw new InvalidArgumentException(sprintf('At least one connection is required'));
     }
     $connections = array();
     foreach ($input->getOption('connection') as $connection) {
         list($name, $dsn, $infos) = $this->parseConnection($connection);
         $connections[$name] = array_merge(array('dsn' => $dsn), $infos);
     }
     $manager->setConnections($connections);
     $manager->setLoggerClosure(function ($message) use($input, $output) {
         if ($input->getOption('verbose')) {
             $output->writeln($message);
         }
     });
     $manager->setWorkingDirectory($input->getOption('output-dir'));
     $manager->insertSql();
 }
Пример #5
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $generatorConfig = new GeneratorConfig(array('propel.platform.class' => $input->getOption('platform'), 'propel.database.schema' => $input->getOption('schema-name'), 'propel.database.encoding' => $input->getOption('encoding'), 'propel.tablePrefix' => $input->getOption('table-prefix'), 'propel.useLeftJoinsInDoJoinMethods' => true, 'propel.mysql.tableType' => $input->getOption('mysql-engine'), 'propel.mysql.tableEngineKeyword' => 'ENGINE'));
     $filesystem = new Filesystem();
     $filesystem->mkdir($input->getOption('output-dir'));
     $manager = new SqlManager();
     $manager->setValidate($input->getOption('validate'));
     $manager->setGeneratorConfig($generatorConfig);
     $manager->setSchemas($this->getSchemas($input));
     $manager->setLoggerClosure(function ($message) use($input, $output) {
         if ($input->getOption('verbose')) {
             $output->writeln($message);
         }
     });
     $manager->setWorkingDirectory($input->getOption('output-dir'));
     $manager->buildSql();
 }