Django 1.7 - 意外掉落一张桌子。如何恢复?

时间:2014-09-08 13:21:10

标签: python django database-migration django-1.7

我不小心在Django 1.7项目中放了一张桌子。我跑了makemigrations& migrate。两个命令都没有识别出表已丢失。所以他们没有任何影响。

我应该删除模型的代码,进行迁移,添加模型和代码的代码。再次迁移?还是有更好的方法来恢复它?

1 个答案:

答案 0 :(得分:18)

试试这个:

python manage.py sqlmigrate app_name 0001 | python manage.py dbshell

它将初始应用程序迁移的输出传递给dbshel​​l,后者执行它。如果您想要更好地控制发生的事情,请分两步拆分并复制/粘贴SQL命令。

当然,迁移包含所有应用程序表的单个事务,因此如果只有一个表缺失(来自多模型应用程序),则您只需手动选择你要重新创建的表。