9

我不小心在 Django 1.7 项目中删除了一张表。我跑了makemigrations& migrate。这两个命令都没有识别出该表已删除。所以他们没有影响。

我应该删除模型的代码、进行迁移、添加模型的代码并再次迁移吗?或者有没有更好的恢复方法?

4

1 回答 1

19

尝试这个:

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

它将初始应用程序迁移的输出通过管道传输到执行它的 dbshel​​l。如果您想更好地控制正在发生的事情,请将其分成两步并复制/粘贴 SQL 命令。

自然,迁移包含所有应用程序表的单个事务,因此如果仅缺少单个表(来自多模型应用程序),您必须手动选择仅要重新创建的表。

于 2014-10-04T11:49:06.677 回答