【问题标题】:Best way to squash migrations django压缩迁移 django 的最佳方法
【发布时间】:2021-01-13 09:56:37
【问题描述】:

我有 10 次迁移,我想将它们保存在一个文件中。所以我使用 ./manage.py squashmigrations accounts 将它们压扁。现在我有 11 个文件,包括 init 和 squash 文件。所以我删除了其他 9 个文件并保留了 init 和 squash 并运行 migrationmigrate

现在想问这是正确的方法吗?我有另一个应用程序具有相同的场景我应该这样做吗?

【问题讨论】:

    标签: django django-models django-rest-framework django-migrations


    【解决方案1】:

    是的,这基本上就是这样做的方法:) Django 有一个关于如何压缩迁移和适当工作流的很好的文档。见https://docs.djangoproject.com/en/3.1/topics/migrations/#migration-squashing

    总之,

    1. 创建一个 squash 迁移并将其添加到您的其他迁移中
    2. 将所有当前迁移应用到您的环境后,您可以照常删除旧文件。

    但另外,你应该

    1. 确保引用已删除迁移的其他应用已更新以链接到您的新 squash 迁移文件
    2. 删除 squash 迁移中的 replaces 属性,以便将其视为普通迁移(不再是 squash 迁移)

    然后你就完成了,你可以对其他应用重复这个过程,再次累积一次迁移。

    【讨论】:

      猜你喜欢
      • 2017-02-23
      • 2016-06-14
      • 2015-11-12
      • 2018-04-16
      • 2014-11-09
      • 2015-02-21
      • 2016-10-09
      • 1970-01-01
      • 2010-09-15
      相关资源
      最近更新 更多