Django:迁移未链接到模型的表

Django: migrations for tables that are not linked to models

我有一组未链接到任何模型的表(主要是一些非规范化的预计算值存储),我只是对它们使用原始 select 查询。是否可以为它们使用任何迁移框架(例如,我想添加列并将此更改部署到所有环境)。 谢谢。

您可以使用通常的迁移系统。

首先,create an empty migration(在最合适的应用程序中)。

python manage.py makemigrations --empty yourappname

然后输入您需要的任何 RunSQL 操作(如果需要,包括用于恢复更改的 SQL)。

operations = [
    migrations.RunSQL("CREATE ...",
                      "DROP ..."),
    ...
]

结果可能 运行 与 Django 模型的迁移一起出现。

python manage.py migrate