我有一个Django应用,需要在数据库上启用Postgres的Fuzzystrmatch扩展。
Django的unittest框架创建并破坏了一个新数据库。我需要这个新数据库来打开扩展进行测试。
我可以使用'./manage.py test --keepdb'保留数据库,然后手动打开扩展名,但这是一个明智的解决方案。
您知道我如何以编程方式启用此扩展程序吗?
答案 0 :(得分:0)
创建一个空迁移并使用CreateExtension
操作:
from django.contrib.postgres.operations import CreateExtension
class Migration(migrations.Migration):
...
operations = [
CreateExtension(name='fuzzystrmatch'),
...
]
编辑: 如果那不起作用,那么我的下一个建议就是回顾Django内部如何实际处理这些类。