如何在django中挤压压扁的迁移?

时间:2016-04-19 11:03:14

标签: django django-models

例如,我有50次迁移,我已经将所有迁移压缩到0001_initial.py并再次达到50次迁移。我如何压缩迁移?

3 个答案:

答案 0 :(得分:5)

在压缩新迁移之前,您需要按照documentation(本节末尾)中的说明将您的压缩迁移转换为正常迁移:

  

然后,您必须将压缩的迁移转换为正常迁移   由:

     
      
  • 删除它替换的所有迁移文件。
  •   
  • 更新依赖于已删除迁移的所有迁移,以取决于压缩迁移。
  •   
  • 删除迁移中的替换属性   压扁迁移的类(这就是Django告诉它的一个例子   压扁移民)。
  •   

一旦您删除了被压扁的原始迁移以及所有引用,被压缩的迁移将成为“正常”迁移,您将能够再次压缩这些迁移。

答案 1 :(得分:0)

  1. 如果您已被压扁一次,则您的压扁文件中将包含此代码。
replaces = [('model_name', '0001_auto...
  1. 在注释了上面的代码之后。
# replaces = [('model_name', '0001_auto...
  1. 您可以再次挤压。
python manage.py squashmigrations app_name 000x

答案 2 :(得分:-1)

python manage.py squashmigrations <appname> <squashfrom> <squashto>
python manage.py help squashmigrations