我正在尋找一種方法在生產和開發中進行不同的遷移。開發和生產中的飛路遷移
我想用Maven創建一個Spring Web應用程序。 在開發中,我想更新數據庫模式並加載測試數據。 在部署新版本應用程序時的生產中,我只想更改模式並且不加載測試數據。
我的第一個想法是保存架構更新和插入語句到不同的文件夾。
我想每個機構都已經解決了這個問題,並且可以幫助我,非常感謝。
我正在尋找一種方法在生產和開發中進行不同的遷移。開發和生產中的飛路遷移
我想用Maven創建一個Spring Web應用程序。 在開發中,我想更新數據庫模式並加載測試數據。 在部署新版本應用程序時的生產中,我只想更改模式並且不加載測試數據。
我的第一個想法是保存架構更新和插入語句到不同的文件夾。
我想每個機構都已經解決了這個問題,並且可以幫助我,非常感謝。
基本上,你有兩個選擇:
你可以在你的flyway.locations財產使用您的遷移不同的位置,即:
測試
flyway.locations=sql/structure,sql/test
生產
flyway.locations=sql/structure
這樣,您可以將您的測試數據包含在sql/test中lder連續。當然,你必須注意編號。
第二個選項(我更喜歡),根本不包括遷移中的測試數據。
相反,創建您想要的任何測試數據並創建此數據的sql轉儲,這與您的遷移保持獨立。
如果您有一個包含原始測試數據的獨立數據庫(實例,模式,任何),那麼您將每個遷移作爲構建過程的一部分應用於此,效果最佳。然後,此構建作業可以創建始終與當前遷移匹配的轉儲。
在準備測試機器時,首先應用您的遷移,然後加載匹配轉儲的內容。
我認爲這比第一個版本更清潔,尤其是因爲您的測試數據可以使用其他工具(您的應用程序)準備,而且不需要手工編碼。