3

そのため、settings.pyで2つのデータベース接続を指定しました(以下を参照)。

しかし、テストを実行するときは、Djangoに「デフォルト」データベースを作成させたいだけです。

これを行う方法はありますか?TEST_CREATE:Falseオプションを追加しようとしましたが、それは何らかの理由でOracle専用だと思いますか?

私のsettings.pyスニペット:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'App1',                      # Or path to database file if using sqlite3.
        'USER': 'webaccess',                      # Not used with sqlite3.
        'PASSWORD': '***',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    },
    'default_root': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'App1',                      # Or path to database file if using sqlite3.
        'USER': 'django',                      # Not used with sqlite3.
        'PASSWORD': '****',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
        'TEST_CREATE': False            #Don't create when testing
    }

}
4

1 に答える 1

7

さて、ここにそれを行う1つの方法があります。通常のデータベースをセットアップした後、これを settings.py に追加しました。

if 'test' in sys.argv:
    DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3',}}
于 2012-05-11T14:53:42.433 に答える