随着项目的增长,迁移(makemigrations
和migrate)
的迁移时间越来越长,每次部署都会延迟很多次。
Django允许您访问squash them,因此您没有很长的迁移文件列表,但迁移过程需要相同的时间。
然后我尝试了以下内容:
django_migrations
表makemigrations
(为我的应用创建0001_initial
)migrate --fake
(填充到django_migrations
表)现在新的迁移速度非常快,但却失去了迁移历史记录。
所以我的问题是,考虑到这可能就像v1.0,它是一个独立的项目,任何其他项目都依赖于,这样做有什么风险?
我觉得这是不应该做的事情,因为我无法找到任何特定的Django命令来完成它。 South
有一个重置,但现在django迁移只有壁球......
答案 0 :(得分:0)
只要所有您的安装在删除迁移时是最新的,删除旧迁移就没有任何害处。唯一的缺点是,一旦删除它们就不能轻易回到数据库历史状态,但除了旧备份文件之外,你不应该使用它。
正如我所指出的那样,只需确保每个使用您项目的人都是最新的(或者在删除之前给他们指示提交,以便他们可以在升级到HEAD之前进行迁移,如果您使用的是源版本控制)
如果您正在开发第三方应用程序,它将使安装更复杂(处理--fake
参数,无论您是要升级还是安装......)但这不是您的情况。