. */ /** * Doctrine_Task_GenerateMigrationsDiff * * @package Doctrine * @subpackage Task * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link www.phpdoctrine.org * @since 1.0 * @version $Revision: 2761 $ * @author Jonathan H. Wage */ class Doctrine_Task_GenerateMigrationsDiff extends Doctrine_Task { public $description = 'Generate migration classes from a generated difference between your models and yaml schema files', $requiredArguments = array('migrations_path' => 'Specify the path to your migration classes folder.', 'yaml_schema_path' => 'Specify the path to your yaml schema files folder.'), $optionalArguments = array('models_path' => 'Specify the path to your doctrine models folder.'); public function execute() { $migrationsPath = $this->getArgument('migrations_path'); $modelsPath = $this->getArgument('models_path'); $yamlSchemaPath = $this->getArgument('yaml_schema_path'); $migration = new Doctrine_Migration($migrationsPath); $diff = new Doctrine_Migration_Diff($modelsPath, $yamlSchemaPath, $migration); $changes = $diff->generateMigrationClasses(); $numChanges = count($changes, true) - count($changes); if ( ! $numChanges) { throw new Doctrine_Task_Exception('Could not generate migration classes from difference'); } else { $this->notify('Generated migration classes successfully from difference'); } } }