在Django中测试不同的db? [英] Different db for testing in Django?
本文介绍了在Django中测试不同的db?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
DATABASES = {
# 'default': {
# 'ENGINE': 'postgresql_psycopg2',
# ...
# }
# for unit tests
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase'
}
}
我有两个数据库:一个我喜欢用于单元测试,一个用于其他任何事情。 ?是否有可能在Django 1.2.4配置此
I have two databases: one I'd like to use for unit tests, and one for everything else. Is it possible to configure this in Django 1.2.4?
(我想问的原因是因为在PostgreSQL,我发现了以下错误:
(The reason I ask is because with postgresql I'm getting the following error:
foo@bar:~/path/$ python manage.py test
Creating test database 'default'...
Got an error creating the test database: permission denied to create database
Type 'yes' if you would like to try deleting the test database 'test_baz', or 'no' to cancel: yes
Destroying old test database...
Got an error recreating the test database: database "test_baz" does not exist
为什么我可能会收到这个错误?我想我真的不在乎,如果我总是可以使用SQLite进行单元测试,因为工作正常。)
Why could I be getting this error? I guess I don't really care if I can always use SQLite for unit tests, as that works fine.)
推荐答案
在您的 settings.py
(或 local_settings.py
):
import sys
if 'test' in sys.argv:
DATABASES['default'] = {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase'
}
这篇关于在Django中测试不同的db?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文