h2数据库 flywaydb 修改了初始sql文件,导致启动验证失败

2022-08-23 09:25

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Validate failed. Migration Checksum mismatch for migration 2
-> Applied to database : 257829384
-> Resolved locally : 663825197 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]

修改sql文件后,和数据库内保持的sum值对不上了。

如果确保sql没有问题,可以去数据库里面修改保存的sum值。

h2文件修改表内容

有h2文件,怎么连接数据库去修改文件里面表的字段呢?

使用jar包启动,切换到有jar包的文件夹,使用cmd,java -jar  h2-2.1.214.jar 。

浏览器会打开一个连接窗口,很神奇是不是

这里~/h2_new 代表去 c盘,users下当前windows登录的用户的文件下。

输入用户名,密码,就会进入一个数据库操作界面。

这里的语法,表名和字段名都用英文双引号,就可以了。

select * from "flyway_schema_history";

update "flyway_schema_history" set "checksum"=663825197 where "installed_rank" =2

就可以了。

# mysql