django从多个数据库中选择进行测试

时间:2018-03-16 04:35:50

标签: django django-testing django-database

我定义了多个数据库。这是针对测试配置文件,我希望能够指定要选择哪个数据库进行测试。例如:" python manage.py test -db = mysql"

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'mysql': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql_test',
    }
}

我浏览了django文档,但我找不到明确的方法。解决此问题的一种方法是设置环境变量,并将两个数据库定义为默认值。然后根据数据库类型使用db。

如果有更好的方法,请告诉我。

感谢 阿迈勒

1 个答案:

答案 0 :(得分:0)

您可以使用DATABASES的TEST属性:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'TEST': {
            'NAME' : 'mysql'
        },
    },
    'mysql': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql_test',
    }
}

但是您是否有理由不想使用django创建的默认测试数据库?