db-maintain具有可重複腳本的概念,如存儲過程/觸發器。當這樣的腳本發生變化時,它需要再次鋪開。 Flyway似乎總是檢查文件名約定。所以要有一個可重複的腳本,我們可能需要重命名文件。有沒有更有效的方法來做到這一點?使用flyway有效地管理可重複腳本
1
A
回答
3
Flyway開始在版本4.0中支持可重複的遷移。每次校驗和更改時都會重新應用可重複遷移,並且可以在版本控制中將其作爲單個文件進行維護。
確保相同的可重複移植可以多次應用 是您的責任。這通常涉及在您的DDL語句中使用CREATE 或REPLACE子句。
更多詳情here。
2
此問題已在Issue Tracker和此other question中出現。
目前沒有開箱即用的支持。
我個人
- 封裝在存儲過程或觸發器的重複動作,並將其添加到數據庫作爲常規遷移
- 確保該程序/觸發器被每遷移後調用一次的一部分這(可能是少一個行語句)
- 確保必要的更改過程/觸發器後也發生,因爲經常遷移的一部分
如果沒有這樣做,請隨時登錄Issue,並留下有關您的用例的詳細信息。
更新:從Flyway 4.0開始,完全支持重複性腳本。請參閱https://flywaydb.org/documentation/migration/repeatable
相關問題
- 1. Flyway - 強制運行可重複的腳本
- 2. BlackBerry如何使用本地API修復頁腳管理器
- 3. 使用帶有Flyway可重複遷移的主/索引文件
- 4. 使用Flyway管理補丁子集
- 5. FlyWay遷移腳本
- 6. 重複的腳本經理
- 7. 什麼是從Flyway遷移中刪除可重複腳本的最佳方法
- 8. 使用setInterval()重複腳本
- 9. 更有效地腳本HTTP
- 10. Powershell腳本重置本地管理員密碼
- 11. Powershells腳本重命名本地訪客和管理員帳戶?
- 12. 使用Component包管理器引入其他本地腳本?
- 13. 腳本重定向即使有效
- 14. Flyway可重複遷移 - 在版本化之前執行?
- 15. 重命名Flyway可重複遷移可以嗎?
- 16. Flyway手動腳本生成
- 17. 使用phpmyadmin管理重複項
- 18. 使用Shell腳本庫管理
- 19. 使用腳本管理器時出錯
- 20. 使用npm管理客戶端腳本
- 21. Glassfish管理腳本
- 22. 如何更有效地使用MKS Integrity(源代碼管理)
- 23. 可重複使用的架構代碼管理
- 24. 管理Xcode中的可重複使用的類別庫
- 25. Windows - 本地用戶管理
- 26. 使用UserPrincipal檢查本地管理員
- 27. 使用Maven管理本地庫
- 28. 儘管腳本管理器,Ajax日曆擴展器不可用?
- 29. 使用腳本管理器註冊客戶端腳本塊
- 30. 管理可重用組件
只是出於好奇:你能更詳細地描述你的用例嗎? – 2011-12-20 00:48:39
的想法是維護存儲過程和觸發器,就像我們維護代碼一樣。如果需要更改,那麼只需更改文件,因此校驗和不同,並且腳本再次滾存到數據庫中。 確保腳本實際上是可重複的,當然應該由開發人員決定。例如:在MySQL中;開發人員應確保在CREATE觸發器或過程塊之前存在DROP IF EXISTS語句。 – gazal 2011-12-27 06:08:33
謝謝。我明白你現在從哪裏來。觸發器和存儲過程像所有其他數據庫對象一樣,因此我認爲它們應該遵循正常的遷移模式。 – 2011-12-28 08:39:11