我正在開發一個使用多個數據庫的Grails應用程序,其他應用程序是隻讀的,1是應用程序的一種「主數據庫」。另外還有多種環境:dev,qa,prod。 qa用於釋放測試,與產品相同。如何覆蓋表結構和數據從db1到db2
總是在發佈測試之前,我需要用「main」prod-database覆蓋「main」qa-database。我沒有其他的SQL用戶訪問運行MS SQL實例的服務器。
我需要的是在qa-database中丟掉所有內容的所有東西而不刪除數據庫本身,並從prod數據庫中導入所有內容。數據庫包含很多外鍵約束。
如何實現上述?
P.S.
我在MySQL上做了這個,但現在我們已經遷移到了MS SQL。我的MySQL腳本去有點像這樣的(僞):
SET foreign_key_checks = 0;
-- Drop all tables..
SET foreign_key_checks = 1;
-- Import prod-dump to DB..
[SQL SERVER 2005:將所有表,存儲過程,觸發器,constriants和所有依賴關係放在一個sql語句中]可能的重複(http://stackoverflow.com/questions/536350/sql-server-2005- drop-all-the-tables-stored-procedures-triggers-constriants-a) –
@MichaelDurrant - 他也在重新創建所有的對象,所以它不是這個問題的一個騙局。 – JNK