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

psc*_*eit 2 doctrine-orm doctrine-migrations

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

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

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

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

我是否必须手动删除所有迁移版本并将“卷起”-dump-migration 标记为在生产中完成?

psc*_*eit 5

我找到了这个:

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

整个过程分为几个步骤:

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

  • 也许先在舞台上检查一下;) (5认同)