正确的方法来进行迁移差异

时间:2011-01-05 07:56:17

标签: orm migration doctrine diff

我正在尝试使用以下代码在架构yaml文件和我的数据库之间执行迁移差异

    $migration = new Doctrine_Migration($migrationsPath);
    $diff = new Doctrine_Migration_Diff(null, $yamlSchemaPath, $migration);
    $changes = $diff->generateMigrationClasses();

    $numChanges = count($changes, true) - count($changes);

从我收集的内容来看,$ from = null这意味着将从数据库中读取from,但似乎并非如此。

阅读它here我已经执行了以下步骤以确保基本例程没有错误。

  1. 更改yaml文件
  2. generate-migrations-diff 到diff 你现在的(改变的)yaml 你的(未改变的)模型。这将 在您的。中生成迁移文件 doctrine / migrations目录(或 无论migrations_path设置为什么 在你的学说配置中。)。
  3. 迁移以运行已创建的迁移 在第2步中修改数据库
  4. generate-models-yaml 以生成新内容 基于您的yaml文件的类。 这些都是你指定的地方 生成的模型去(models_path in 你的学说配置)。
  5. generate-sql 生成SQL文件。 这将是你的学说的地方 sql_path config设置为。
  6. 当架构yaml文件未更改时,$ numChanges始终相同。它与当前正在同步和工作的数据库不进行比较。

    有人可以发现错误或者告诉我正确的做法吗?

0 个答案:

没有答案