将单个Doctrine迁移标记为已运行/已执行

时间:2014-05-20 15:04:32

标签: symfony doctrine-orm doctrine database-migration

有没有办法可以将Doctrine迁移标记为" ran"或者"执行"以赢得的方式显示为需要迁移的迁移?

app/console doctrine:migrations:migrate --add Version20140409203042

我在--help中看不到任何内容。

这样做的原因是我的数据库是最新的并且是从其他地方导入的,但每次运行doctrine:migrations:migrate时都要求运行此迁移。

2 个答案:

答案 0 :(得分:13)

我发现此功能属于version命令:

使用此命令添加单个版本:

app/console doctrine:migrations:version 20140430223207 --add

使用此命令将它们全部添加:

app/console doctrine:migrations:version --add --all

答案 1 :(得分:2)

在您的数据库中是存储了doctrine迁移的表。您只需添加版本ID(20140409203042)。我想这个表的默认名称是migration_versions,或者你可以在config中找到名字(http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html

这是一种可以在不运行迁移的情况下进行迁移的解决方案。但如果没问题,你真的应该控制所有的查询。如果缺少一个或多个,则应该使用已注释的查询进行迁移。