wRA*_*RAR 6 django postgresql pgbouncer
我正在和Django一起使用pgbouncer.我已经test_foo在其配置中添加了数据库以便能够运行测试,因为显然Django不能为测试数据库使用不同的端口.现在测试运行但最后,当Django试图放弃测试数据库时,我收到了
django.db.utils.DatabaseError: database "test_foo" is being accessed by other users
DETAIL: There are 1 other session(s) using the database.
Run Code Online (Sandbox Code Playgroud)
我想这是由pgbouncer存储的开放连接引起的.我能做什么?
这不是完美的解决方案,但它可以解决问题.通过添加到settings.py,可以强制Django在运行单元测试时使用不同的数据库设置:
if 'test' in sys.argv or 'test_coverage' in sys.argv:
# Use 5432 as db port (avoid going through pgbouncer, can't delete test DB).
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'xxx',
'USER': 'xxx',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '5432'
},
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1246 次 |
| 最近记录: |