2017-08-14 56 views
4

我爲我的項目設置了一堆可重複的遷移,以刪除(並重新創建)一些經常修改的數據庫視圖。封裝結構看起來是這樣的:重命名Flyway可重複遷移可以嗎?

src/main/resources 
    |-db 
    |-R__pets_amphibians_view.sql 
    |-R__pets_birds_view.sql 
    |-R__pets_mammals_view.sql 
    |-R__pets_reptiles_view.sql 
    |-... 
    |-<versioned-migrations> 

現在,我想要做的就是向上分割R__pets_mammals_view.sql觀點分成兩個更具體的看法:例如R__pets_mammals_dogs_view.sqlR_pets_mammals_rodents_view.sql。這也需要重命名/刪除原始文件R_pets_mammals_view.sql

我想知道的是我是否可以做到這一點,而不會搞亂我的模式版本(可能會殺死進程中的任何託管環境)?不幸的是,我無法在Flyway文檔中找到答案。

個人編號:我知道將版本化的遷移重新命名爲本地環境之外的任何東西后再重命名並不是一個好主意。但是,由於可重複的遷移可以隨意修改(並且因爲它們是最後執行的),所以我不確定它們是否在這種情況下實際「計數」。

回答

4

從技術角度來看,您可以隨意添加,刪除和重命名可重複遷移。 Flyway對於刪除可重複的遷移不會做任何事情。這些遷移也將保留在schema_version表中。因此,即使您的架構已被刪除,您仍然可以跟蹤哪些可重複的遷移已在您的架構上執行。

在您的示例中,如果您刪除R__pets_mammals_view.sql並添加兩個其他視圖,「哺乳動物」視圖將僅保留在您的模式中,您可能會通過版本化遷移(或手動)將其刪除。

相關問題