如何在生产服务器上使用学说迁移汇总功能?

时间:2019-04-26 05:08:38

标签: doctrine-orm doctrine-migrations

我已阅读:https://symfony.com/doc/master/bundles/DoctrineMigrationsBundle/index.html

我很好奇:doctrine:migrations:rollup。我知道它的作用(删除我的迁移,用当前数据库的整个转储创建一个)。

但是我不知道如何在生产中使用它:

当我在本地开发人员中汇总时,将其推送到CD-Pipeline中,它将在生产中失败,对吗?因为转储将在已经进行的迁移之上执行。

我是否必须手动删除所有迁移版本,而仅将“汇总” -dump-migration标记为在生产中已完成?

1 个答案:

答案 0 :(得分:0)

我发现了:

https://github.com/doctrine/migrations/issues/662

整个过程分为几个步骤:

  1. 删除所有在dev中的迁移
  2. 在dev中使用dump-schema创建新迁移
    (我被误导了,汇总命令可以做到这一点,但事实并非如此)
  3. 然后在PRODUCTION中手动使用汇总命令。它确实从数据库中删除了所有版本,并且仅插入汇总版本(其中包含转储模式的版本)
  4. 然后提交并推送到您的持续交付工具。迁移将不会执行,因为手动运行的汇总命令已经插入了转储的模式版本。