使用Doctrine2管理模式更改的工作流程

Tam*_*lyn 5 php doctrine database-schema doctrine-orm doctrine-migrations

在开发过程中,我schema:update经常运行Doctrine的命令来将数据库模式同步到我不断变化的实体定义.一旦我准备提交功能,我想将所有更改汇总到一个我可以提交给git 的迁移类中.

问题是,为了运行,migrations:diff我需要在我开始搞乱之前将数据库模式回滚到其状态schema:update.这样做schema:dropmigrations:migrate是没有好,因为下降的架构不会删除migration_versions表.这意味着我必须进入MySQL并手动删除所有数据库,然后再运行现有的迁移并创建新的迁移.

它有效,但感觉我做错了.有更好的想法吗?

Ale*_* B. 0

我不知道这个问题的答案是否 100% 正确,但有一个选择。每次您需要schema:update --force先运行 dump sqlschema:update --dump-sql并存储它。那么,就不需要回滚base了