停止忽略 Django 项目 git 中的迁移文件
Stopping ignoring migration files in git for a Django Project
我的团队在 .gitignore 中有 Django 迁移文件,因此没有提交这些文件。相反,我们一直在我们的生产服务器上进行迁移。我们发现这不是推荐的做法(遇到 )。它是否会导致问题 - 在这个时间点 - 从 .gitignore 中删除迁移,在开发机器上进行迁移,在生产服务器上提交、推送和应用迁移?如果是这样,我们如何解决这些问题?
这个问题的动机主要是因为我们需要应用我们自己部分编写的自定义迁移。 (因此,在开发机器上进行迁移和提交迁移之间实际上还有一个额外的步骤,即将我们的自定义代码添加到迁移文件中)。
我认为唯一的方法是将所有迁移从生产服务器复制到您的存储库,然后提交它们。这很可能是一个手动过程,因为您的生产服务器是唯一跟踪所有迁移的地方。您无需担心如何迁移您的生产服务器,因为它保留了原始副本。但是,所有这些都应该在添加和应用任何新迁移之前完成。
全部修复后,您应该在本地开发环境中创建新的迁移,添加到 git 并将您的迁移推送到生产环境,然后应用迁移。请记住让您的 CI 或其他工具检查重复的迁移文件。
我的团队在 .gitignore 中有 Django 迁移文件,因此没有提交这些文件。相反,我们一直在我们的生产服务器上进行迁移。我们发现这不是推荐的做法(遇到
这个问题的动机主要是因为我们需要应用我们自己部分编写的自定义迁移。 (因此,在开发机器上进行迁移和提交迁移之间实际上还有一个额外的步骤,即将我们的自定义代码添加到迁移文件中)。
我认为唯一的方法是将所有迁移从生产服务器复制到您的存储库,然后提交它们。这很可能是一个手动过程,因为您的生产服务器是唯一跟踪所有迁移的地方。您无需担心如何迁移您的生产服务器,因为它保留了原始副本。但是,所有这些都应该在添加和应用任何新迁移之前完成。
全部修复后,您应该在本地开发环境中创建新的迁移,添加到 git 并将您的迁移推送到生产环境,然后应用迁移。请记住让您的 CI 或其他工具检查重复的迁移文件。