我們有一個RCP應用程序,它由許多單獨的插件構建而成,可將應用程序數據保存和恢復到由多個表組成的單個用戶可選數據庫。隨着時間的推移,數據庫格式會發生變化,我們希望能夠通過使用Flyway數據庫遷移來管理這些更改。使用Flyway與RCP插件構建的RCP
一個解決方案是讓每個插件執行自己的遷移(例如,在每個插件中調用Flyway.migrate),但這有一個缺點,即如果數據庫中的表由多個插件共享,插件之間的遷移調用成爲關鍵和問題。
更好的解決方案是進行單個Migrate調用,但問題在於如何將Java遷移腳本的類路徑提供給Flyway實例,特別是由於Eclipse插件類的延遲加載所需的遷移代碼可能尚未加載。這對於基於SQL的遷移腳本來說不是問題,因爲API支持這一點 - 它不支持基於類路徑的搜索。
問題是,有沒有辦法確保當從單個插件調用Flyway.migrate()時,遷移腳本的所有類路徑都可以通過flyway掃描器類發現?
不勝感激的任何建議...
每個Eclipse插件都有其自己的單獨的類路徑,只包含它的依賴關係。您無法使用類路徑在其他插件中找到內容。 –