如何测试在数据库中使用UDF的Django站点?

| 我有一个Django项目,该项目使用带有许多UDF的postgres数据库。 UDF用plpythonu编写。由于plpyhtonu是不受信任的语言,因此只有数据库超级用户才能使用它来创建UDF。这带来了一个严重的问题,因为我无法在测试套件中以编程方式创建它们。现在,我看到两个选择: 修改django.db.backends.creation._create_test_db以从模板创建测试数据库,该模板已经加载了我的UDF。这似乎很棘手且难以维护。 创建具有MD5身份验证的超级用户,并使用psycopg2加载测试套件中的UDF。这似乎是不安全的。 有没有那么可怕的方法可以做到这一点? 谢谢。     
已邀请:
我不知道PG UDF模型,只有MySQL和SQLite。其他一些解决方法可能是: 创建一个仅用于测试的PG实例,将其隔离,这样就不必担心潜在的安全问题。毕竟数据库很便宜。 如果UDF很简单(或者测试数据大小使它们简单),请在SQLite中重新创建它们,然后使用该数据库进行测试。假设您不需要在项目中测试plpython功能。 如果UDF功能比项目的其余部分稳定得多,则将UDF代码拆分到其自己的子项目中,对于其余代码,假定将存在UDF。至少这将使大多数代码可以自动化,并且只有UDF代码需要手动干预才能指定密码。     
我去了第一名。这不是理想的方法,但可以。     

要回复问题请先登录注册