如何在使用 Django 初始化数据库后运行 postgres 命令



我正在尝试为Django项目运行一些测试,为此Django创建了一个特定于运行测试的新数据库。

在我的例子中,主数据库名为"kim",Django 创建了一个数据库"test_kim"来运行测试。

由于我的一个模型中有一个CICharField,所以我必须在创建数据库之后和 Django 迁移运行之前运行此命令。

psql =# c db_1
CREATE EXTENSION citext;

现在我想知道如何为测试数据库运行此命令?

应创建一个迁移来处理扩展的创建。这是关于它的文档。

你会做:

python manage.py makemigrations <APP_NAME> --empty

然后在该迁移导入中:

from django.contrib.postgres.operations import CITextExtension

并将其添加到migrations列表中CITextExtension()。此迁移应该是创建CITextField字段的迁移的依赖项。

最新更新