2012-12-04 93 views
1

在遷移之前,flyway可以對數據庫執行驗證檢查嗎?驗證數據庫後,flyway是否可以處理遷移?

方案1

對於例如:我想在現有的數據庫執行的飛行路線。我已經向db_users表中插入了幾個用戶。

但是我的sql腳本爲db_users表創建語句,併爲所有用戶(包括已插入的用戶)插入語句。

我可以做,IF NOT_EXISTS在創建表之前檢查,但在每次插入之前很難做檢查。

方案2

我已經在我的數據庫遷移腳本V1,V2,V3。我修改腳本V2並進行一些更改。下次啓動應用程序時,flyway會識別此更改。

方案3

我在V2的SQL腳本CREATE TABLE語句。但是在開始我的應用程序之後,我手動刪除了表格。下一次當我啓動應用程序時,Flyway會識別數據庫更改並再次執行V2嗎?

請您告訴我如何在Flyway處理這些情況。

+0

你會得到與哈希驗證麻煩,如果你修改了V2腳本,它已經對一個模式運行後。考慮創建一個可以進行更改的V4腳本。即使羅嗦,你也會與之合作而不是反對這個工具。 – orbfish

回答

1

您所要求的一切都在文檔中。如果他們不夠清楚,請告訴我他們如何改進。如果你找不到信息,請告訴我爲什麼。

方案1:https://flywaydb.org/documentation/existing

方案2:https://flywaydb.org/documentation/command/validate

方案3:https://flywaydb.org/documentation/faq#outside-changes

+1

對於情景3,Flyway是否在驗證步驟中捕獲外部更改?我們正在尋找能夠確保我們的結果模式匹配的東西。您的鏈接表示我們不應該進行外部更改,我們同意。事情是,我們可以保證他們沒有? – Adam