溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Flyway版本化管理數(shù)據(jù)庫常見錯誤和解決方法

發(fā)布時間:2020-02-14 11:09:20 來源:網(wǎng)絡(luò) 閱讀:5078 作者:wx5b3c0a4298f7b 欄目:MySQL數(shù)據(jù)庫

Flyway是一個數(shù)據(jù)庫版本化管理工具,通過SQL腳本實現(xiàn)DB Migration自動化升級,支持獨立運行,也可以和構(gòu)建工具或者Spring開發(fā)環(huán)境集成。

?

總結(jié)在實際開發(fā)過程中常見錯誤,分享解決方法和建議:

?

l?migrate運行失敗,提示sql腳本錯誤

解決:獨立運行flyway命令repair修復(fù)數(shù)據(jù)庫中的升級信息,糾正SQL錯誤后再次migrate

建議:運行migrate之前,首先確保SQL正確。

?

l?migrate沒有運行增加的SQL腳本

解決:SQL腳本命名遵守規(guī)則,比如V1.0.0__init.sql

?

l?migrate運行失敗,提示權(quán)限不夠,“xxx command denied to user ‘xxx’”

解決:賬號需要擁有對應(yīng)sql腳本需要的權(quán)限,比如create table

?

l?migrate運行失敗,提示數(shù)據(jù)庫不空,“Found non-empty schema(s)”

解決:按照提示獨立運行flyway命令baseline初始化。

建議:清空數(shù)據(jù)庫,初始化從空數(shù)據(jù)庫開始。

?

l?提示找不到數(shù)據(jù)庫,“unkown database ‘xxx’”

解決:需要先創(chuàng)建出來一個空數(shù)據(jù)庫。

?

l?Spring集成Flyway后,清空數(shù)據(jù),啟動失敗

解決:確認validationQuery,是否select 1 from dual還是某個指定的數(shù)據(jù)表??諗?shù)據(jù)庫時需使用dual

?

l?Spring集成Flyway后,啟動運行出錯

解決:某些依賴數(shù)據(jù)庫的bean,需要指定在Flyway完成migrate之后運行

?

l?SQL腳本V1.0__xxx.sql沒有被運行

解決:Flyway通過版本號碼唯一區(qū)分腳本,如果最開始運行baseline,F(xiàn)lyway將自動創(chuàng)建版本1.0

建議:1,從空數(shù)據(jù)庫開始初始化,不要運行baseline

建議:2,初始化SQL腳本版本號從V1.0.1開始,使用三位數(shù)字。


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI