4

データがロードされた既存のデータベース「A」があります。これは、統合している別のプロジェクトの一部です。私はマルチデータベース Django サポートを使用しており、Django がモデル化したデータベース「 B 」に永続化するために必要なものを保存しています。

ここで、テストを実行したいと思います。これにより、2 つのテスト データベースが作成されます。問題は、テスト データベース「A」にテーブルまたはデータがないことです。

「 A」 (読み取り専用の非本番データベース)用のテスト データベースの作成を回避し、「A 」を直接使用する方法はありますか?

4

1 に答える 1

2

私がdjango.test.simple.DjangoTestSuiteRunner.setup_databases正しく読んでいれば、データベースの設定を定義することで、テスト データベースの作成を回避でき'TEST_MIRROR'ます。

このオプションは、マスター/スレーブ構成のテストに使用することを目的としていますが、ミラーを、オプションを構成しているデータベースと同じデータベースに設定すると、意図した効果を得ることができます。

DATABASES = { 
    'A': {
        'ENGINE': ..., # standard configuration goes here
        'TEST_MIRROR': 'A',
    }, 
    'B': {
        'ENGINE': ..., # no TEST_MIRROR, a test database will be created for B
    } 
} 

" A " のテスト データベースは作成されません。代わりにTEST_MIRROR、これも " A " であるその に置き換えられます。そのため、テストは " A " と " test_B " で意図したとおりに実行されます。

于 2013-05-23T00:27:53.147 に答える