在将项目部署到服务器之前重置所有迁移是否是一种好做法?



关于部署中的最佳实践,我有两个与迁移相关的问题。

  1. 我正在开发一个Django项目。有时,由于我以前的模型发生了一些变化,我不得不更改以前的一些迁移(比如重命名其他模型的模型)。我知道解决方案,但它是肮脏和手动的。有时候会产生很多冲突。

    我想知道"当我可以通过删除迁移文件和删除SQLite DB重置所有迁移时,当我不在生产时,真的有必要麻烦自己解决这些冲突吗?">

  2. 在开发项目中包含许多迁移,这些迁移通过更改模型来纠正先前的迁移(迁移如重命名,添加列…)。在第一次将项目部署到服务器时,重置所有迁移并重新创建所有迁移不是更好吗?我想为什么要在服务器上创建一个包含多次更改模型的迁移的表呢?为什么不直接部署最终的迁移呢?

我没有找到任何关于最佳实践的文档。非常感谢你分享你的想法与参考。

我不确定django是否发布了关于迁移的最佳实践,因为它总是会得到'视情况而定'的答案。

根据我的经验,当你的开发项目准备好了,我建议你把项目的所有迁移都归零并重新创建,这样你就可以从一个干净简单的历史开始。

还可以选择压缩迁移,尽管如果您的历史记录是错误的或不相关的-我不确定为什么您希望在您的项目中使用该历史记录。

相关内容