3

我已经读过,在将新代码推向生产之前,应该扁平化(南)迁移。“扁平化迁移”是什么意思,为什么推荐它,在南方是如何做到的?

4

1 回答 1

3

扁平化迁移意味着基本上只是将所有迁移分块在一起,以便在迁移变得相当大时减少迁移的运行时间。这是可能的,但不建议这样做,因为您将丢失所有迁移历史记录,从而使您运行的每个迁移都从 0 开始。

我没有在任何地方读到“推荐”扁平化,所以我不能给你这条建议,如果你有链接,我很乐意阅读。

我读过 Ruby on Rails 有这个功能,但也不推荐在那里。

首先考虑这些问题:

  • 这是你真正想要的吗?你会失去所有的历史。
  • 这将导致迁移到版本 0,然后再次备份,这将经常进行

如果这样做是为了阻止任何丢失或乱序的迁移,我会使用

python manage.py schemamigration myapp --merge

或最后但并非最不重要的更新最新迁移使用--update


我在谷歌搜索时发现了这个问题,并认为它可以作为参考,它又包含指向其他 4 个问题的链接。

Rails 中的聚合迁移

于 2013-03-03T05:59:59.027 回答