Django在表重命名时不会更新sqlite_master

时间:2017-11-08 17:36:21

标签: django django-models sqlite database-migration

当使用 migrations.AlterModelTable 重命名表时,Django是否有更新sqlite_master记录的原因?

当我运行时,我有一个需要重命名的表:

ALTER TABLE old_name RENAME TO new_name;

来自具有old_name.id作为外键的表的所有sqlite_master记录都会正确更新, REFERENCES" old_name" (" id")变成 REFERENCES" new_name" (" ID&#34)。

但是,当我在迁移中使用 migrations.AlterModelTable 时,这不会发生。

我的代码:

operations = [
    migrations.AlterModelTable(name='Sample', table='new_name'),
]

1 个答案:

答案 0 :(得分:0)

这是一个阻止Django 2.0发布的错误。

https://github.com/django/django/pull/9389