2011-02-05 54 views
2

我有一個django項目與一個數據庫(默認)。 South被安裝用於生成遷移腳本和鼻子作爲測試框架。模型建立在這個數據庫上。所有測試都成功運行。然後,我需要連接第二個數據庫(遺留),我也將其添加到DATABASES配置中。我訪問這個數據庫使用原始的SQL和沒有模型。雖然試圖運行之前運行測試,我注意到:django鼻子和南有多個數據庫的問題

  1. 鼻子也爲原有數據庫
  2. Django缺省的表(AUTH _...等)也可在此數據庫中創建一個測試數據庫
  3. south對遺留數據庫運行所有遷移腳本,但未能這樣做

我想要的是禁用創建測試遺留數據庫並在其上運行遷移腳本。理想情況下,我想通過發出原始的sql create-insert語句自己在測試遺留數據庫中創建表。那可能嗎?

謝謝你的幫助。

回答

0

您的阻力最小的路徑可能是編寫您自己的測試運行管理命令。要做到這一點,你可以覆蓋現有的命令,或者簡單地創建一個單獨的命令與你想要的行爲。

用於創建自定義管理命令的文檔可以在官方django docs上找到,您可以在django-test-extensions項目中找到覆蓋庫存「測試」命令的正確示例。