王旭阳个人博客

WXY

技术教程

Springboot整合Flyway自动管理数据库变更

Springboot整合Flyway自动管理数据库变更

针对提供的若依项目(v3.8.4)中关于Flyway的配置和使用,以下是该项目的摘要总结: --- **若依项目(v3.8.4)中的Flyway配置与使用摘要**: 1. **依赖管理配置**: * 在`pom.xml`(ruoyi)中通过`<dependencyManagement>`引入了Flyway的核心依赖。 * 在`pom.xml`(ruoyi-admin)中也添加了相应的Flyway依赖。 2. **SQL脚本存放位置**: * 在`resources`目录下新建`db/migration`目录,用于存放SQL迁移脚本。 * 版本1.0.0中的SQL脚本用于初始化,而版本1.0.1中的SQL脚本用于测试,例如创建`flyway_test`表并插入一条数据。 3. **Flyway配置**: * 在`application.yml`中配置了Flyway的启用、编码、基准迁移等设置,并配置了数据库连接信息。 4. **解决项目启动时的问题**: * 项目中有两个地方使用了`@PostConstruct`注解,导致在Flyway的数据库配置加载之前执行,可能会报错。 * 解决方案是找到这两个配置类(`SysDictTypeServiceImpl`和`SysConfigServiceImpl`),注释掉初始化方法。然后,在若依system模块中新建`RuntimeConfig`类,实现`ApplicationListener<ContextRefreshedEvent>`接口,将初始化操作移至此处,以改变加载时机。 5. **Maven插件配置**: * 在ruoyi的`pom.xml`中增加了MySQL依赖和Flyway Maven插件的配置。 * 通过该插件,可以使用Maven命令来进行数据库迁移操作。 **总结**:若依项目通过引入Flyway进行了数据库版本控制,确保了不同环境下数据库结构的一致性。通过调整某些初始化的加载时机,解决了与Flyway初始化顺序相关的问题。同时,利用Maven插件方便地进行数据库迁移操作。
836
0
12
2022-12-09
代码在线分享网站

代码在线分享网站

当你需要把你的代码片段分享给别人时,长长的代码直接发在微信,QQ等聊天工具中会造成刷屏或者长度限制;这个时候你就可以选择这种在线网站进行分享。
2038
0
13
2022-11-24
搭建一个在线翻译网站

搭建一个在线翻译网站

介绍Lingva Translate —谷歌翻译的第三方版,作者原本的目的是防止隐私追踪。可以自建,有语音朗读🤩—GitHub (https://github.com/thedaviddelta/lingva-translate) | 可用镜像提供的有API 具体参考github注意建议搭建在国外
1574
0
13
2022-11-22
Linux下使用screen来实现多任务不断线操作

Linux下使用screen来实现多任务不断线操作

前言我们用VPS执行一个系统安装,就输入命令然后在那一直等。如果出现掉线或者断网死机的情况,我们还得重新安装。如果能使用上screen命令可以实现无人值守的效果。我们可以同时操作多个任务,也可以关机操作。所以说很方便。方法1、安装方法:yum install screen #CentOSapt-g
454
0
5
2022-11-22
TeamSpeak服务端搭建

TeamSpeak服务端搭建

两种方式自行选择采用docker compose方式,如没有请自行安装。
977
0
5
2022-11-01
把JAR包手动添加到本地maven仓库

把JAR包手动添加到本地maven仓库

下载需要添加的jar包我这里已经下载好了,放到自己的maven本地仓库目录中。检测maven环境变量cmd 输入mvn -v 如已经配好可以看到maven版本相关信息执行命令进入到第一步放jar的目录打开cmd执行命令mvn install:install-file -DgroupId=com.q
540
0
7
2022-10-23
RustDesk搭建教程(全平台远程桌面服务 )

RustDesk搭建教程(全平台远程桌面服务 )

简介RustDesk是一款开箱即用的开源免费的全平台远程桌面软件,包括MacOS、Windows和Android的客户端支持。它可以替代类似于向日葵远程桌面、ToDesk等远程桌面服务,这可以让你完全掌控数据,不用担心安全问题。你可以选择使用官方的注册/中继服务器,也可以自建服务器,甚至基于官方代码
6046
1
15
2022-10-22
Guava实用Map操作

Guava实用Map操作

GuavaGuava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码,使代码更为优雅,另一方面它补充了很多jdk中没有的功能,能让我们开发中更为高效。引入依赖maven&lt;dependency&
386
0
3
2022-10-21
解决: /bin/sh^M: bad interpreter: No such file or directory

解决: /bin/sh^M: bad interpreter: No such file or directory

该文章主要描述了Linux系统下执行脚本时遇到的问题,报错信息是找不到 `/bin/sh` 或 `/bin/bash` 解释器,问题产生的原因是在 Windows 下编写的脚本带有特殊字符导致的格式问题。提供了两种解决方案来解决这个问题。第一种是通过在 Vim 中手工修改文件的格式,使用 `:set ff` 命令查看当前文件格式,然后修改为 Unix 格式 `set ff=unix`。第二种是使用 `dos2unix` 工具进行转换,包括安装 `dos2unix` 命令和使用该命令将脚本文件转换为 Unix 格式。安装完成后执行 `dos2unix ./*.sh` 命令即可将文件格式转换为 Unix 格式,再次执行脚本时就不会出现之前的错误了。
634
0
7
2022-09-14
Java进程CPU占用率过高分析定位

Java进程CPU占用率过高分析定位

一、场景描述在实际应用场景中,JAVA 进程导致宿主机 CPU 使用率高的情况很常见,可能导致的原因很多:主机配置过低、代码质量低等;通常处于 bug 修复或者性能优化的需求,需要定位耗费大量 CPU 时间的罪魁祸首,这里提供几种常见的定位排查手段。
902
0
5
2022-08-19