【问题标题】:South, restore a DB with broken migrations南,恢复一个迁移失败的数据库
【发布时间】:2013-01-23 18:04:15
【问题描述】:
python manage.py migrate page --list

 page
  (*) 0001_initial
  (*) migrations from 0002 to 0006
  (*) 0007_auto__del_realestatelistcontext__del_homepagecontext__add_listcontext
  (*) 0008_auto__add_field_listcontext_num
  (*) 0009_auto__chg_field_listcontext_content
  (*) 0010_auto__del_field_listcontext_content
  ( ) 0011_auto__add_field_listcontext_content

我把事情搞砸了,所以 python manage.py migrate page 0009python manage.py migrate page 0011 都提高了 DatadaseError

我对修复损坏的迁移不感兴趣,但我想将数据库恢复到迁移 0008(我可以像在 0008 中一样手动更改 Python 模型)。我是南方的新手,正在寻求有关如何做到这一点的建议。

【问题讨论】:

    标签: django django-south database-migration


    【解决方案1】:

    如果您可以手动将数据库状态恢复到 0008,则可以通过“伪造”反向迁移到 0008 来告诉 South 将其视为此类。

    python manage.py migrate page 0008 --fake
    

    这会将内部状态设置为最后应用的迁移是 0008,而不会尝试实际应用 0010 和 0009 的反向迁移。

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多