我有一個與Flyway DB遷移有關的問題。如何通常管理處理相同數據庫模式的多個項目(微服務)。如果項目被其他項目修改,則每個項目中的Flyway遷移腳本都不允許啓動。他們是否有相同的文件或最佳實踐?具有單個架構和多個項目的飛路遷移
2
A
回答
1
爲了什麼值得,這就是我們所做的。由於架構是由多個項目共享的,因此我們通過單個項目來管理架構,其任務是維護所述架構。集中化模式創建和維護還有其他好處,因爲我們有單一的變更軌跡。我們無需掃描多個項目進行更改。
我真的認爲這是最好的解決方案。我不相信flyway有項目間模式依賴管理。
+0
這個單獨的項目是否僅包含Flyway配置和遷移文件,或者您是否還將所有應用程序SQL語句(普通'SELECT's等)移動到此中央項目? –
0
我們正在這樣做。我們有一個管理模式創建/管理的中心項目,其他項目都通過自己的飛行路徑版本控制自己的功能創建。這是通過更改那些其他項目檢查其模式版本的表的名稱以及將遷移設置爲true時的基線來完成的。我們使用spring/flyway-db移植,因此除了第一個項目之外,這僅僅是爲每個項目增加了以下內容到application.properties
。
flyway.baselineOnMigrate=true
flyway.table=schema_verison_*<some_other_identifier>*
我知道你的問題沒有specifiy彈簧結構明確,但我相信這可以配置你如何使用遷徙路線沒有關係。我想發表一個答案,就像我自己在Google上搜索這個問題一樣,你的問題是最重要的結果,我想我的答案可能會幫助某個人走上正軌。
相關問題
- 1. 具有DB2和多個架構的Rails
- 2. 具有多個值的單個項目的Python數據結構
- 3. 飛道:遷移多個數據庫
- 4. 企業架構師和多個項目
- 5. laravel具有多個遷移表的多個數據庫
- 6. 人耳部署時的飛路遷移
- 7. C#MVC項目架構多個子域
- 8. 遷飛失序和冪等遷移
- 9. 具有相同項目URL的IIS和多個項目?
- 10. 飛行路線遷移狀態`outOfOrder`?
- 11. 飛路遷移是否可變?
- 12. 如何將多個文件合併爲單個遷移遷移?
- 13. 遷飛是有使用它throught Maven和API在同一個項目的方式
- 14. 春 - 石英 - 飛路項目,遷徙路線行不通
- 15. 擁有多個WCF項目vs 1個具有多個服務的WCF項目
- 16. 遷移到Android Studio將導致正在安裝「單一主項目中的多個庫項目」多個應用
- 17. 遷飛條件DB遷移
- 18. SQL Server架構到架構遷移
- 19. 具有多個項目或具有多個目標的一個項目的工作區?
- 20. 遷移到Azure服務架構 - 架構注意事項
- 21. TFS結構 - 多個項目還是單個項目?
- 22. 具有多個文件的Javascript項目
- 23. 具有多個項目模板的IWizard
- 24. Cmake - 具有多個項目的庫
- 25. 具有多個庫和一個exe的QtCreator項目
- 26. 具有多個後端/ DI架構時的ORM和POCO? AutoMapper?
- 27. 架構管理和遷移CakePHP中3
- 28. 有關具有多個選項的多項目訂單表的問題
- 29. 如何構建具有多個依賴項目的VCS
- 30. 具有多個外部庫的項目結構
理想情況下,每個微服務應該管理自己的數據並擁有單獨的數據庫模式。這是一個糟糕的做法,違反了微服務體系結構的規則以在服務之間共享數據庫模式。 – sezerug
雖然您的觀點是有效的,DB模式應該由單個模塊進行管理(包括遷移),但它可以被許多模塊共享。帶有共享數據庫的微服務體系結構並不是什麼新東西,我認爲它是數千個用例中廣泛使用的體系結構。 – user3808122