【问题标题】:django pick from multiple databases for testingdjango 从多个数据库中挑选进行测试
【发布时间】:2018-08-25 01:56:17
【问题描述】:

我定义了多个数据库。这是用于测试配置文件,我希望能够指定要选择哪个数据库进行测试。例如:“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。

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

谢谢 阿马尔

【问题讨论】:

    标签: django django-testing django-database


    【解决方案1】:

    你可以使用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 创建的默认测试数据库的原因?

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 2022-08-02
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 2020-11-26
      • 1970-01-01
      相关资源
      最近更新 更多