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

时间:2019-01-18 17:44:36

标签: django postgresql

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

在我的情况下,主数据库名为“ kim”,而Django创建一个数据库“ test_kim”来运行测试。

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

psql =# \c db_1
CREATE EXTENSION citext;

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

1 个答案:

答案 0 :(得分:2)

您应该创建一个迁移,该迁移可以为您创建扩展。 Here are the docs on it.

您会这样做:

python manage.py makemigrations <APP_NAME> --empty

然后在该迁移中导入:

from django.contrib.postgres.operations import CITextExtension

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