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

How to use doctrine migrations rollup feature on production server?

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

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

但我不明白如何在生产中使用它:

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

我是否必须 手动删除所有迁移版本 并仅将 "rolled up"-dump-migration 标记为在生产中完成?

我发现了这个:

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

整个过程分为几个步骤:

  1. 删除开发中的所有迁移
  2. 在开发中使用转储模式创建新迁移
    (我被误导了,rollup 命令会这样做,但它不会)
  3. 部署到生产环境,但没有自动迁移
  4. 然后在 PRODUCTION 中手动使用 rollup 命令。它确实从数据库中删除了所有版本并仅插入汇总版本(其中包含转储模式的版本)
  5. 然后提交并推送到您的持续交付工具。不会执行迁移,因为手动 运行 rollup 命令已经插入了转储的架构版本。