/** * {@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(); }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $configOptions = array(); foreach ($input->getOptions() as $key => $option) { if (null !== $option) { switch ($key) { case 'schema-dir': $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; case 'composer-dir': $configOptions['propel']['paths']['composerDir'] = $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->setOverwriteSqlMap($input->getOption('overwrite')); $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->isOverwriteSqlMap() && $manager->existSqlMap()) { $output->writeln("<info>sqldb.map won't be saved because it already exists. Remove it to generate a new map. Use --overwrite to force a overwrite.</info>"); } $manager->buildSql(); }
/** * {@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(); }