JeecgBoot低代码开发框架,后台服务使用SpringBoot开发,支持MySQL、Oracle、PostgreSQL,SQLServer多种数据库,集成Flyway版本化管理SQL脚本。
代码托管:GitHub和Gitee,国内用户访问Gitee速度快。
系统环境:Win10,JDK8,maven,docker。
一,SpringBoot集成Flyway
1,pom.xml中添加依赖
2,application.yml中添加配置
3,添加初始化SQL脚本
创建数据表,导入初始化数据。
二,功能测试
Flyway管理维护Migration,SQL脚本在服务启动时自动运行。
为了方便测试,使用docker-compose,快速启动。
1,配置JeecgBoot后端服务
修改配置文件application.yml,在MySQL和redis连接中引用hostname
2,编译打包
运行命令mvn package,也可以使用IntelliJ IDEA,得到target目录下的jar包文件。
3,生成Docker镜像
运行docker-compose build
4,启动Docker容器
运行docker-compose up
5,访问后台服务
三,常见问题
1,异常ClassNotFoundException,找不到FlywayCallback类
原因:flyway版本不匹配。
解决方法:在pom.xml中添加flyway-core依赖时,不要指定版本,SpringBoot将自动匹配管理。
2,运行SQL脚本错误FlywayException: No value provided for placeholder expressions
原因:Flyway默认会解析SQL脚本中的变量,如果没有设置参数值,将出错。
解决方法:配置flyway不替换变量值。
spring.flyway.placeholder-replacement=false
3,创建flyway_schema_history数据表失败
原因:如果配置了Ali Druid Wall安全过滤器,将禁止SQL语句中包含注释。Flyway在创建migration历史记录表时的SQL语句包含注释。
解决方法:配置WallFilter允许SQL注释。
commentAllow=true
本文暂时没有评论,来添加一个吧(●'◡'●)