2

(クロスポスト: https://github.com/jbalogh/django-nose/issues/129 )

settings.py には、次の 2 つのデータベースがリストされています。

DATABASES = {
    'default': {
        'ENGINE': 'mysql_pymysql',
        'NAME': 'OST_DEV_1',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    },
    'umc': {
        'ENGINE': 'mysql_pymysql',
        'NAME': 'UMC',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

REUSE_DB なしでテストを実行すると、動作は遅くなります (データベースの作成/破棄だけで 2 分近くかかります)。

bash
./manage.py test myapp

しかし、これは失敗します:

REUSE_DB=1 ./manage.py test myapp
DatabaseError: (1146, u"Table 'OST_DEV_1.tblMfg' doesn't exist")

tblMfg は OST_DEV_1 ではなく UMC データベースにあるため、これは理にかなっています。django-nose に tblMfg の場所を伝える方法はありますか? 私のテスト自体は tblMfg を参照していないことに注意してください -- 今のところ 1+1 == 2 にこだわっています。

現在、UMC にあるテーブルに対して手動で「using」を使用しています。

active_mfgs = Mfg.objects.using('umc').filter(status="ACTIVE")
4

0 に答える 0