* * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ /** * MigrationGenerateDiffCommand. * * @author William DURAND */ class MigrationGenerateDiffCommand extends PhingCommand { /** * @see Command */ protected function configure() { $this ->setDescription('Generates SQL diff between the XML schemas and the current database structure') ->setHelp(<<propel:migration:generate-diff command compares the current database structure and the available schemas. If there is a difference, it creates a migration file. php app/console propel:migration:generate-diff EOT ) ->setName('propel:migration:generate-diff') ; } /** * @see Command * * @throws \InvalidArgumentException When the target directory does not exist */ protected function execute(InputInterface $input, OutputInterface $output) { $this->callPhing('diff'); foreach (explode("\n", $this->buffer) as $line) { if (false !== strpos($line, '[propel-sql-diff]')) { $arr = preg_split('#\[propel-sql-diff\] #', $line); $info = $arr[1]; if ('"' === $info[0]) { $info = sprintf('%s', $info); } $output->writeln($info); } } } }