【发布时间】:2021-12-05 12:38:40
【问题描述】:
我有两个关于部署最佳实践的问题,与迁移相关。
-
我正在开发一个 Django 项目。有时我必须更改一些以前的迁移,因为我以前的模型之一发生了一些变化(比如将其他模型具有 FK 的模型重命名为我知道解决方案,但它是肮脏和手动的)。有时它会产生很多冲突。
我想知道“当我不在生产环境时,是否真的有必要为解决此类冲突而烦恼?何时可以通过删除迁移文件并删除 SQLite DB 来重置所有迁移?”
-
在开发项目中包含许多迁移,这些迁移通过更改模型来纠正以前的迁移(迁移如重命名、添加列...)。第一次将项目部署到服务器时重置所有迁移并重新创建所有迁移不是更好吗? 我认为为什么要在服务器上创建一个表,其中包含多次更改模型的迁移?为什么不应该只部署最终迁移?
我没有找到任何有关最佳实践的文档。非常感谢您与参考文献分享想法。
【问题讨论】:
-
不要重置迁移。您可以创建一个新的 git 分支,进行所有更改,如果一切正常,然后推送到主分支并进行一次迁移。
标签: python django deployment migration django-migrations