本文整理汇总了PHP中Doctrine_Core::generateMigrationsFromDiff方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine_Core::generateMigrationsFromDiff方法的具体用法?PHP Doctrine_Core::generateMigrationsFromDiff怎么用?PHP Doctrine_Core::generateMigrationsFromDiff使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine_Core
的用法示例。
在下文中一共展示了Doctrine_Core::generateMigrationsFromDiff方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute()
{
try {
$migrationsPath = $this->getArgument('migrations_path');
$yamlSchemaPath = $this->getArgument('yaml_schema_path');
$migration = new Doctrine_Migration($migrationsPath);
$result1 = false;
if (!count($migration->getMigrationClasses())) {
$result1 = Doctrine_Core::generateMigrationsFromDb($migrationsPath);
}
$connections = array();
foreach (Doctrine_Manager::getInstance() as $connection) {
$connections[] = $connection->getName();
}
$changes = Doctrine_Core::generateMigrationsFromDiff($migrationsPath, $connections, $yamlSchemaPath);
$numChanges = count($changes, true) - count($changes);
$result = $result1 || $numChanges ? true : false;
} catch (Exception $e) {
$result = false;
}
if (!$result) {
throw new Doctrine_Task_Exception('Could not generate migration classes from database');
} else {
$this->notify('Generated migration classes successfully from database');
}
}
示例2: execute
protected function execute($arguments = array(), $options = array())
{
// initialize the database connection
$databaseManager = new sfDatabaseManager($this->configuration);
$connection = $databaseManager->getDatabase($options['connection'])->getConnection();
$lRootDir = ProjectConfiguration::getApplicationConfiguration($options['application'], $options['env'], true)->getRootDir();
$this->logSection('yiid', 'Generating diff from: ' . $lRootDir . '/data/sql/' . $options['from'] . " to: " . $lRootDir . '/data/sql/' . $options['to']);
Doctrine_Core::generateMigrationsFromDiff($lRootDir . '/' . $options['classes_path'], $options['from'], $options['to']);
}
示例3: generateMigration
public function generateMigration($className = null, $dFromDatabase = false, $mFromModels = false)
{
$this->_initDoctrineResource();
$migratePath = $this->_getMigrationsDirectoryPath();
if ($className) {
Doctrine_Core::generateMigrationClass($className, $migratePath);
$this->_print('Successfully generated migration class ' . $className . '.', array('color' => 'green'));
$this->_print('Destination Directory: ' . $migratePath);
} else {
if ($dFromDatabase) {
$yamlSchemaPath = $this->_getYamlDirectoryPath();
$migration = new Doctrine_Migration($migrationsPath);
$result1 = false;
if (!count($migration->getMigrationClasses())) {
$result1 = Doctrine_Core::generateMigrationsFromDb($migrationsPath);
}
$connections = array();
foreach (Doctrine_Manager::getInstance() as $connection) {
$connections[] = $connection->getName();
}
$changes = Doctrine_Core::generateMigrationsFromDiff($migrationsPath, $connections, $yamlSchemaPath);
$numChanges = count($changes, true) - count($changes);
$result = $result1 || $numChanges ? true : false;
if ($result) {
$this->_print('Generated migration classes from the database successfully.');
} else {
throw new Exception('Could not generate migration classes from database');
}
} else {
if ($mFromModels) {
$this->_loadDoctrineModels();
Doctrine_Core::generateMigrationsFromModels($migrationsPath, null);
$this->_print('Generated migration classes from the model successfully.');
}
}
}
}