Django测试数据库需要启用Postgres Extension

时间:2018-10-24 03:13:18

标签: django postgresql

我有一个Django应用,需要在数据库上启用Postgres的Fuzzystrmatch扩展。

Django的unittest框架创建并破坏了一个新数据库。我需要这个新数据库来打开扩展进行测试。

我可以使用'./manage.py test --keepdb'保留数据库,然后手动打开扩展名,但这是一个明智的解决方案。

您知道我如何以编程方式启用此扩展程序吗?

1 个答案:

答案 0 :(得分:0)

创建一个空迁移并使用CreateExtension操作:

from django.contrib.postgres.operations import CreateExtension

class Migration(migrations.Migration):
    ...

    operations = [
        CreateExtension(name='fuzzystrmatch'),
        ...
    ] 

Relevant docs

编辑: 如果那不起作用,那么我的下一个建议就是回顾Django内部如何实际处理这些类。