数据库迁移操作¶
所有这些 操作 都可从 django.contrib.postgres.operations
模块获得。
使用迁移创建扩展¶
您可以使用迁移文件在数据库中创建PostgreSQL扩展。此示例创建hstore扩展,但相同的原则适用于其他扩展。
在第一个涉及 HStoreField
的 CreateModel
或 AddField
操作之前,通过添加具有 HStoreExtension
操作的迁移,在PostgreSQL中设置hstore扩展。例如:
from django.contrib.postgres.operations import HStoreExtension
class Migration(migrations.Migration):
...
operations = [
HStoreExtension(),
...
]
创建扩展需要具有超级用户权限的数据库用户。如果Django数据库用户没有超级用户权限,则必须使用具有相应权限的用户在Django迁移之外创建扩展。在这种情况下,连接到您的Django数据库并运行查询 CREATE EXTENSION IF NOT EXISTS hstore;
。