2
我正在運行Django==1.7
與psycopg2==2.5.4
,我無法運行任何測試。無法測試django 1.7應用程序
當我試圖(通過運行./manage test <app>
)來運行我的任何Django的測試用例,我得到以下錯誤:
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)[email protected]:~$ createdb test_mydb
(env)[email protected]:~$ dropdb test_mydb
(env)[email protected]:~$
我的模型遷移似乎很好 - 我可以刪除數據庫,成功運行遷移和我的Web應用程序功能很好 - 我只是不能運行測試。
我在同一臺機器上有另一個django 1.7項目,使用相同的基本postgres數據庫設置,作爲同一用戶運行並且測試運行良好。
任何想法可以阻止測試運行?
通過消除過程,我確定這與['djorm-ext-pool'](https://github.com/djangonauts/djorm-ext-pool)應用程序有關。當我從'INSTALLED_APPS'中刪除'djorm_pool'時,我不會再出錯。 – dgel 2014-09-27 16:47:58
這是適合自我回答,做得好的工作。它一定是建立一個交易太早。 – 2014-09-28 01:26:12