如果问题的名称具有误导性,我很抱歉,但这是交易。
我转储了旧版django app(django< 1.7)使用的数据库。
我有一个使用django 1.7的新版代码。现在我需要在保存所有数据的同时使用新代码升级某些服务器。
我认为它会起作用:
恢复数据库,使用./manage.py migrate运行新迁移(1.7迁移)。
完成!
但是当我正在运行迁移时,我已经"关系已经存在错误"。
我知道发生这种情况可能是因为数据库与迁移历史记录不同步......但我不知道该怎么做。
EDIT1我觉得唯一的方法是手动创建迁移脚本或其他东西,因为现在有办法将数据库与新的迁移同步。
假设有一个名为TABLE的数据库中的表和两个C1和C2列。
现在,当我从1.6迁移到1.7时,我已经添加了C3列。因此,初始迁移看起来像这样"使用COLUMNS C1,C2,C3和#34创建表TABLE。
当我尝试使用旧数据库进行迁移时,这样做是不可能的。
答案 0 :(得分:0)
假冒所有应用的初始迁移:
python manage.py migrate --fake yourappnamehere 0001