【发布时间】:2013-06-14 13:41:41
【问题描述】:
今天我在我的 schema.yml 中进行了一些更改后,每个更改后跟 diff、migrate、build 命令,diff 操作停止工作。
最后一次成功的迁移是第 243 次。
现在,我所做的每一个新更改,当我发出 diff 命令时,结果总是一样的:
/usr/bin/php /.../symfony --color doctrine:generate-migrations-diff
>> doctrine generating migration diff
>> file+ /tmp/doctrine_schema_92228.yml
Done.
lib/migration/doctrine 中没有创建新文件,所以我无法使用 migrate 命令将更改提交到 db。
我尝试清除缓存、清理模型文件、构建所有类并重新启动。
有什么想法吗?
【问题讨论】:
-
在运行 diff 之前,您是否使用新模式生成了类?如果是这样,请回滚您的架构,重新生成您的类,重新应用您的架构更改并重新运行差异。
-
感谢您的建议;不,我总是按这个顺序 diff-migrate-build;现在我将尝试在完全备份后从模型重建架构 ;-)
-
更新:我从 db 重建 schema.yml;然后我尝试了构建模型,但现在我收到了这个警告:
/usr/bin/php /.../symfony --color doctrine:build-model >> doctrine generating model classes >> file+ /tmp/doctrine_schema_93565.yml PHP Notice: Undefined index: alias in /.../lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Import/Builder.php on line 685我很困惑...... -
哇,清除缓存? (我不知道你为什么会收到这个错误)
-
目前我有类似的问题 - diff 命令不会生成任何其他文件。我只是放弃了寻找解决方案并开始手动编写我的迁移类。通常我对数据库的更改并不那么重要,因此编写起来相对容易:)
标签: symfony1 doctrine migration symfony-1.4