有没有人知道如何在Django中使用特定数据库进行单个测试?
编辑:目前,我正在使用sqlite进行测试,但是,我想使用mysql数据库进行特定测试(def test_benchmark ...),这将对某些sql语句进行基准测试。由于
答案 0 :(得分:0)
在Django中,您可以在settings.py文件中设置数据库。配置应如下所示:
DATABASES = {
'default': {
'NAME': 'db_name',
'ENGINE': 'sql_server.pyodbc',
'HOST': 'server',
'USER': 'django',
'PASSWORD': 'django',
'OPTIONS' : { "use_mars" : False,
"provider" : "SQLNCLI10",
"extra_params" : "MARS Connection=True"},
}
}
答案 1 :(得分:0)
我不知道有任何内置方法可以做到 - 但我并没有诚实地寻找它。一个可能的(脏)黑客是检查你的设置中sys.argv
中的内容(这只是另一个Python模块),并为您的特定测试设置备用数据库设置,即:
# settings.py
import os, sys
DATABASES = {
'default': {
'NAME': 'db_name',
'ENGINE': 'your.engine',
'HOST': 'server',
'USER': 'django',
'PASSWORD': 'django',
}
}
if "test" in sys.argv and "your-test-name" in sys.argv:
DATABASES = {
'default': {
'NAME': 'other_db_name',
'ENGINE': 'your.engine',
'HOST': 'server',
'USER': 'django',
'PASSWORD': 'django',
}
}