使用新的初始迁移来压缩迁移

2024-09-29 19:23:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序有35个迁移,需要一段时间才能运行(例如在测试之前),所以我想压缩它们。在

squashmigrations命令将操作从99减少到88,但它仍然远未达到最佳状态。这可能是因为我有多个RunPython操作阻止Django优化其他操作。所有这些RunPython操作在压缩的迁移中是无用的,因为数据库是空的。在django1.10中,elidable参数在这种情况下允许跳过它们,但是仍然存在大量混乱。在

对于压缩的迁移,我的想法是更接近Django生成的初始迁移,因此我的问题是:

是否建议使用新的初始迁移作为长迁移列表的压缩版本?你会怎么做?在


Tags: django命令版本数据库应用程序列表参数状态
1条回答
网友
1楼 · 发布于 2024-09-29 19:23:33

如果您的测试或生产数据库中没有任何重要的数据,您可以使用新的初始迁移,这将是合适的解决方案。在

我用过很多次这个技巧,对我很管用。在

一些想法:

  • 有时,首先需要为一个本地应用程序创建迁移,然后再为所有其他应用程序创建迁移;

  • 为了确保一切正常,您可以在运行./migrate之前提交迁移并备份数据库。

注意:若要加快测试速度,可以尝试运行内存测试和/或使用sqlite运行测试。在

相关问题 更多 >

    热门问题