團隊,
我們為 postgresql 11.x 版本作業的 flyway docker 映像(flyway 社區版版本 6.x)設定。將我們的 postgresql 版本升級到 14.x 后,現在現有的 flyway 遷移腳本(更新的社區版版本 8.x)因“錯誤:驗證失敗:遷移驗證失敗”錯誤而失敗。
- ingestionTime: 1665114622336
message: Flyway Community Edition 8.4.1 by Redgate
timestamp: 1665114621897
- ingestionTime: 1665114622336
message: 'Database: jdbc:postgresql://aws-rds-dev:5432/myapp (PostgreSQL 14.4)'
timestamp: 1665114621898
- ingestionTime: 1665114622336
message: 'ERROR: Validate failed: Migrations have failed validation'
timestamp: 1665114622186
- ingestionTime: 1665114622336
message: 'Detected applied migration not resolved locally: create trigger to update universal table. If you removed this migration intentionally, run repair to mark the migration as deleted.'
timestamp: 1665114622186
如果我們升級 postgresql 資料庫,是否有任何檔案可以遷移版本模式表條目?
對此高度贊賞的任何幫助。
提前致謝..
uj5u.com熱心網友回復:
這是 Flyway V7 中引入的更改的結果。在 V7 之前忽略可重復遷移并且不會導致驗證錯誤,在 V7 之后它們不再被忽略
要解決此問題并保留您需要設定的先前行為,ignoreMigrationPatterns="*:missing"這將防止丟失的遷移引發驗證錯誤。您可以在此處找到此引數的檔案
值得注意的是,默認情況下不會忽略丟失的遷移,因為不建議洗掉遷移,因為這會影響資料庫的可重復性。如果您確實打算洗掉遷移,那么運行repair以將其標記為deleted模式歷史表中將是首選選項
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511362.html
