摘要:在我們的項(xiàng)目中使用進(jìn)行數(shù)據(jù)庫版本控制。我們的項(xiàng)目采用管理。項(xiàng)目地址配置參考地址配置過程很簡(jiǎn)單,只需要在中添加配置即可引入配件配置添加依賴默認(rèn)執(zhí)行的腳本路徑是,腳本以的方式命名。配置完成后,執(zhí)行可以看到可用的命令,執(zhí)行可以執(zhí)行腳本。
在我們的Springboot項(xiàng)目——studentsystem中使用flyway進(jìn)行數(shù)據(jù)庫版本控制。我們的springboot項(xiàng)目采用gradle管理。
studentsystem項(xiàng)目地址:https://github.com/zjgirl/Spr...
flyway配置參考地址:https://blog.waterstrong.me/f...
配置過程很簡(jiǎn)單,只需要在build.gradle中添加配置即可:
//引入配件 plugins { id"org.flywaydb.flyway"version"4.0.3" } //配置flyway properties flyway { url = jdbc:h2:./.tmp/testdb user = sa password = } //添加mysql依賴 dependencies { compilegroup:"mysql",name:"mysql-connector-java",version:"8.0.11" }
flyway默認(rèn)執(zhí)行的sql腳本路徑是resources/db/migration,.sql腳本以Vx__xxx_xxx_xxx.sql的方式命名。配置完成后,執(zhí)行./gradlew tasks可以看到可用的命令,執(zhí)行./gradlew flywayMigrate可以執(zhí)行sql腳本。
注意:按理來說,build項(xiàng)目應(yīng)該會(huì)自動(dòng)執(zhí)行flyway,但是我們這里竟然不能自動(dòng)執(zhí)行?。?!不知道什么原因。。。。。還有,它無法在非空數(shù)據(jù)庫中遷移表,即使在application.properties中設(shè)置了spring.flyway.baseline-on-migrate=true。很奇怪?。。?/p>
另外,在配置過程中遇到了一些奇葩的錯(cuò):
1、mysql數(shù)據(jù)庫的密碼設(shè)置的有問題,報(bào)錯(cuò)caching_sha2_password;原因是在mysql8之前的版本使用的密碼加密規(guī)則是mysql_native_password,但是在mysql8則是caching_sha2_password,可以重設(shè)密碼解決:
create user "root"@"localhost" identified with mysql_native_password by "your password"; FLUSH PRIVILEGES;
2、‘query_cache_size’的錯(cuò)誤:這個(gè)是由于依賴的mysql版本太老了,mysql-connector-java的版本還是6.0.6,需要升級(jí)版本到8.0.11 ,這個(gè)報(bào)錯(cuò)就不存在了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/77759.html