私のプロジェクトでは、正確には3つのデータベースを使用しています。 1つのデフォルトデータベースと、2つの参照データベース(別のホスト)があります。私は./manage.py inspectdb
で検査された2つの外部データベースから4つのテーブルを使用しています。彼らはmanaged=False
に設定されています。すべて正常に動作し、私のアプリケーションは期待どおりに動作し、計画されています。Djangoとpytest、複数のデータベース、削除を維持
今、楽しいことが始まります。私はテストを書く必要があります。私は自分のデータベースを削除したくありません。 私はそれらから読む必要があります、私は器具を作成したくありません。 pytestまたはカスタムdjangoテストを使用しようとするたびに、データベースの削除、再作成、マイグレーションなどを実行しようとしています。
どうすれば保存できますか? pytestまたはdjangoのどちらのテストですか?私は--re-usedbと別のパラメータのカップルにしようとしました。
これは、あなたがその移行を確保するために、「--no-移行」フラグを追加することができる必要がありpytest.iniの内側だから私のデータベースの設定(アップロードすることができる部分)
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'default_db',
'USER': 'default_usr',
'PASSWORD': 'default_pass',
'HOST': 'postgres.somehost.com',
'SUPPORTS_TRANSACTIONS': True,
},
'geolocations': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS': {
'options': '-c search_path=some_schema'
},
'NAME': 'geo_name',
'USER': 'geo_user',
'PASSWORD': 'geo_password',
'HOST': 'some-host.domain.com',
'SUPPORTS_TRANSACTIONS': True,
},
'eoc': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS': {
'options': '-c search_path=another_schema'
},
'NAME': 'eco_name',
'USER': 'eoc_user',
'PASSWORD': 'eoc_',
'HOST': 'some-another-host.domain.com',
'SUPPORTS_TRANSACTIONS': True,
}
}