【问题标题】:Django South Skip Some Migration FilesDjango South 跳过一些迁移文件
【发布时间】:2013-10-03 16:54:41
【问题描述】:

我有两台服务器,一台是开发服务器,一台是生产服务器。在开发中,应用程序迁移是0012,在生产中它当前是0006。出于某种原因,我们仍然不想从0007 -> 0011 迁移迁移,但我们也想在生产环境中迁移0012,我知道我可以这样做来迁移特定文件:

manage.py migrate apps.my_app 0012

我的问题是,如果迁移文件存在差距,南会不会被打破?如果是,那么如何处理这种特殊情况,以便将来当我们想要在迁移文件之间迁移时(现在正在跳过),我们可以在不破坏任何东西的情况下做到这一点?

【问题讨论】:

  • 你可以考虑--fake 0011 ?

标签: python django django-south


【解决方案1】:

您不能在迁移中出现间隔,因为 South 假设这些间隔是连续的。我会这样做:

  1. 将开发迁移回0006
  2. 创建一个新的迁移 0007,它执行 0012 的工作并将其应用于开发和生产。
  3. 为原始 0007 直到 0011 更改创建新的迁移,并将其应用到开发(准备好后用于生产)。

我建议将来使用分支,并且仅在您准备好将它们用于开发和生产时才合并这些分支(包括迁移)。

【讨论】:

  • 我喜欢你关于分支的想法,但现在我们为两台服务器都有单独的 git 存储库。但我现在仍然理解你的回答。
  • 感谢您的回答和建议。
猜你喜欢
  • 2012-08-06
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多