升级V3.x指南
从V2.x版本升级到V3.x版本相关步骤,相关数据库脚本更新如下:
数据库
更新文件:
src/main/resources/db/migration/upgrade/mysql/V3.0__upgrade.sql
-- 指定脚本运行的数据库
use ${database};
-- waf-parent 2.x 升级到 3.0 更新脚本
-- 2023-06-12 更新
-- 菜单权限表, 新增是否缓存字段
alter table sys_permission add is_cache tinyint(1) comment 'tagsView时缓存';
-- 调整is_cache字段到is_search字段后面
alter table sys_permission change is_cache is_cache tinyint(1) null comment 'tagsView时缓存' after is_search;
-- 2023-06-13 系统用户表添加emp_id字段索引(优化sql关联时查询效率慢)
create index Index_Empid on sys_user (emp_id);
后端升级
- waf-parent依赖升级
后端只要将pom.xml中引用waf-parent版本改为3.x即可,启动后测试功能是否正常
<parent>
<groupId>com.wiseda.waf</groupId>
<artifactId>waf-parent</artifactId>
<version>3.1.0</version>
</parent>
- yaml更新
参照app-parent应用进行调整
前端升级
- Vue2版本升级
# 查看当前项目远程仓库信息
git remote -v
# 配置一个远程仓库(fork过来的那个地址,waf-web-origin这个名字自己随意命名,不要跟现有的冲突就是了)
git remote add waf-web-origin http://git.spm.wiseda.com.cn:2080/D20002ZK/waf-web.git
# 拉取基础框架版本
git fetch waf-web-origin
# 合并基础框架master分支到本地应用
git merge waf-web-origin/v3.x
# 查看文件状态列表
git status
# 如有冲突的文件,解决冲突提交
git push
注意事项
jar包依赖
waf-parent 2.x升级到3.x waf-common, waf-system 等jar包版本, 有可能未跟随waf-parent 版本更新, 原因如下:
微服务项目, 多个子模块, 子模块pom.xml 引用了 waf-parent 中依赖管理中的jar包. 由于waf-parent3.x 替换掉了一些依赖,导致项目中的依赖一些依赖获取不到正确的版本, 导致maven更新失败.
swagger
<!-- restful接口文档 waf-parent2.x --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> </dependency> <!-- restful接口文档 waf-parent3.x --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi2-spring-boot-starter</artifactId> </dependency><artifactId>knife4j-spring-boot-starter</artifactId>替换成了
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>hibernate.validator
<!-- 数据校验框架 waf-parent2.x-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<!-- 数据校验框架 waf-parent3.x -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<groupId>org.hibernate</groupId>
替换成了
<groupId>org.hibernate.validator</groupId>
- mysql driver waf-parent 版本>=3.1.0
<!-- mysql 驱动 waf-parent2.x - 3.0.0 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mysql 驱动 waf-parent3.1.0 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<groupId/> <artifactId/> 都进行了替换
配置文件
因springboot版本的升级,会导致有些写法与原来不一致,需要自行进行对照调整。
- Swagger2Config配置修改
启动出现如下错误:
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
参照app-parent模板中的com/wiseda/xxx/config/Swagger2Config.java进行调整
- 自引用注解
@Nullable、@NotNull来源于其他组件,需要自行选择稳定依赖
# 参照如下方式重新引入包
org.jetbrains.annotations.NotNull 替换为:javax.validation.constraints.NotNull
org.jetbrains.annotations.Nullable 替换为:javax.annotation.Nullable
