報價遷徙路線文檔的初始化在https://flywaydb.org/documentation/migration/repeatable:遷徙路線和遷徙重複
重複的遷移不會有一個版本。相反,它們在每次校驗和改變時都應用 (重新)。
這對於管理數據庫對象非常有用,其定義可以在版本控制中簡單地保存在單個文件中。
在單個遷移運行中,在所有待執行版本化遷移已執行 之後,可重複遷移總是最後應用 。可重複遷移按其描述的順序應用。
這聽起來令人興奮,但我似乎無法找到關於如何實際工作以及如何初始化可重複遷移的任何澄清。我知道,對於Versioned遷移,我可以創建基礎遷移(https://flywaydb.org/documentation/existing),然後運行基線命令爲我的未來版本準備好一切。但對於可重複的遷移我不明白flyway是如何能夠校驗和更改。
相反,它們
(再)應用於每一次的檢查和修改。
是遷徙路線讓我從頭開始重建我的數據庫來獲取校驗和比較工作的假設?這將解釋它如何能夠比較校驗和(因爲它可以訪問數據庫中已有的對象的文件定義)。
是的,正確的,Flyway不會調查數據庫中存在的表或其他類似的表,它只依賴於它本身存儲在schema_version中的內容。前綴只是「R」,可以[配置](https://flywaydb.org/documentation/api/javadoc/org/flywaydb/core/Flyway.html#setRepeatableSqlMigrationPrefix-java.lang.String-) – jhncz