4
我有一個現有的數據庫「A」加載數據,這是我正在集成的不同項目的一部分。我正在使用多數據庫Django支持,並存儲我需要保留在我的數據庫「B」這是Django建模的東西。Django避免創建一個測試數據庫
現在我想運行測試,它創建了兩個測試數據庫。問題是測試數據庫「A」沒有表或數據。
有沒有辦法避免創建「一個」(這是一個只讀的非生產數據庫),並直接使用「一個」測試數據庫?
我有一個現有的數據庫「A」加載數據,這是我正在集成的不同項目的一部分。我正在使用多數據庫Django支持,並存儲我需要保留在我的數據庫「B」這是Django建模的東西。Django避免創建一個測試數據庫
現在我想運行測試,它創建了兩個測試數據庫。問題是測試數據庫「A」沒有表或數據。
有沒有辦法避免創建「一個」(這是一個只讀的非生產數據庫),並直接使用「一個」測試數據庫?
如果我正確閱讀django.test.simple.DjangoTestSuiteRunner.setup_databases
,則可以通過爲數據庫定義'TEST_MIRROR'
設置來避免創建測試數據庫。
該選項旨在用於testing master/slave configuration,但如果你設置的鏡子是同一個數據庫所配置的選項之一就可以達到預期的效果:
DATABASES = {
'A': {
'ENGINE': ..., # standard configuration goes here
'TEST_MIRROR': 'A',
},
'B': {
'ENGINE': ..., # no TEST_MIRROR, a test database will be created for B
}
}
沒有測試數據庫將用於「一個」創建,這反而被它TEST_MIRROR
,這也是「一個」所取代,從而爲預期的測試將在「一個」和「test_B」運行。
我不知道它是否已在新版本(Django 1.4.8這裏)中修復,但測試運行器仍嘗試刷新'A',清除所有數據。 – Izkata 2015-01-13 20:22:01