我正在运行Django==1.7
,psycopg2==2.5.4
但我无法运行我的任何测试。
当我尝试运行我的任何 django 测试用例(通过运行./manage test <app>
)时,我收到以下错误:
Creating test database for alias 'default'...
Got an error creating the test database: CREATE DATABASE cannot run inside a transaction block
...
Destroying old test database 'default'...
Got an error recreating the test database: current transaction is aborted, commands ignored until end of transaction block
我的数据库设置非常基本:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
}
}
我正在使用的用户(系统是 Ubuntu 14.04)具有完整的 postgres 管理员权限,我可以成功地手动创建/删除数据库:
(env)user@host:~$ createdb test_mydb
(env)user@host:~$ dropdb test_mydb
(env)user@host:~$
我的模型迁移似乎很好 - 我可以删除数据库,成功运行迁移并且我的 Web 应用程序功能正常 - 我只是无法运行测试。
我在同一台机器上有另一个 django 1.7 项目,使用相同的基本 postgres 数据库设置,以相同的用户身份运行并且测试运行良好。
任何想法可能会阻止测试运行?