【发布时间】:2020-10-02 12:07:12
【问题描述】:
我有 3 个 django 实例在 live dev/live/production 上运行。现在,由于一些同事的工作,我因 diff 分支而出现冲突错误(我有 6 个分支,所以有些分支的迁移文件略有不同,并且在拉取请求时会造成混乱)。我发现的唯一解决方案是重置迁移。之后,我删除了除 init file 之外的所有迁移。现在我正在考虑将迁移添加到 gitignore 文件中,因为它会节省更多的冲突,因为我的同事是新同事并且会弄得一团糟。我每次都没有太多时间去修复。那么问题是这样做有什么问题吗?还是在不久的将来有害?
【问题讨论】:
-
可能不通过 git 合并迁移,而是使用
makemigrations --merge?如果您有一些使用RunPython的迁移 - 将其包含在gitignore是个坏主意。 -
@ncopiy --merge 没有解决问题。
-
为什么这是个坏主意?
-
例如。您的一些同事决定更新
RunPython函数中的某些字段。例如,将User模型的username字段中的所有-替换为_。如果您不将该迁移包含到您的 repo 文件中,您将不会更新生产中的所有用户名。也没有关于构建应用程序的信息。我们不知道您如何创建开发/产品版本。我们不知道你有什么冲突由于 git merge 等。所以没有上下文就没有办法给你正确的答案。 -
@gamer 无论如何没有足够的信息来解决您的问题
标签: django django-models django-migrations