王旭阳个人博客

WXY

Mysql

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
Mysql常见错误代码

Mysql常见错误代码

0101 属于其他进程的专用标志。0102 标志已经设置,无法关闭。0103 无法再次设置该标志。0104 中断时无法请求专用标志。0105 此标志先前的所有权已终止。0106 请将软盘插入驱动器 %1。0107 后续软盘尚未插入,程序停止。0108 磁盘正在使用或已由其他进程锁定。0109 管道已
574
0
5
2022-08-23
Mysql日期查询

Mysql日期查询

这些SQL查询语句都是基于MySQL数据库的日期函数来查询特定时间范围内的数据。以下是这些查询的摘要总结: 1. **今天的数据**: 使用`to_days()`函数将日期字段和当前日期转换为天数进行比较,选择今天的数据。 2. **昨天的数据**: 计算日期字段与当前日期之间的天数差异,选择差异为1的数据,即昨天的数据。 3. **近7天的数据**: 使用`DATE_SUB()`函数从当前日期减去7天,然后与日期字段进行比较,选择近7天的数据。 4. **近30天的数据**: 同样使用`DATE_SUB()`函数,从当前日期减去30天,选择近30天的数据。 5. **本月的数据**: 使用`DATE_FORMAT()`函数提取日期字段的年月部分,并与当前日期的年月部分进行比较,选择本月的数据。 6. **上一月的数据**: 使用`PERIOD_DIFF()`函数计算日期字段与当前日期的月份差异,选择差异为1的数据,即上一月的数据。 7. **本季度数据**: 使用`QUARTER()`函数获取日期字段和当前日期的季度,选择季度相同的数据。 8. **上季度数据**: 使用`QUARTER()`和`DATE_SUB()`函数,从当前日期减去一个季度,选择上季度的数据。 9. **本年数据**: 使用`YEAR()`函数提取日期字段的年份部分,并与当前日期的年份进行比较,选择本年的数据。 10. **上年数据**: 使用`year()`和`date_sub()`函数,从当前日期减去一年,选择上年的数据。 11. **当前这周的数据**: 使用`YEARWEEK()`函数获取日期字段和当前日期的年份和周数,选择周数相同的数据。 12. **上周的数据**: 使用`YEARWEEK()`函数,从当前日期的周数减去1,选择上周的数据。 13. **距离当前现在6个月的数据**: 使用`BETWEEN`语句和`DATE_SUB()`函数,选择从现在算起6个月内的数据。 这些查询语句主要是基于日期函数的运算和比较,用于从数据库中提取特定时间范围的数据。
464
0
3
2022-07-20
Redis缓存问题

Redis缓存问题

使用缓存的问题Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,
548
0
7
2022-06-24
MySQL DATE_FORMAT() 函数

MySQL DATE_FORMAT() 函数

摘要总结:DATE_FORMAT()函数是数据库函数,用于以不同格式显示日期和时间数据。它接受两个参数:日期和格式代码。格式代码包括日期、时间、星期等的描述符号。通过DATE_FORMAT()函数,可以灵活地将日期和时间数据转换为各种格式。例如,使用NOW()函数结合DATE_FORMAT()函数,可以方便地获取当前日期并显示特定格式的日期字符串。
391
0
3
2022-06-21
DataGrip 显示表注释

DataGrip 显示表注释

点击菜单的View -&gt; APpearance,勾选Detail in Tree View即可。
989
0
8
2022-06-08
Navicat16/17版本navicat-keygen for windows Linux Mac

Navicat16/17版本navicat-keygen for windows Linux Mac

开始首先去官网下载最新的 navicat 和下面教程要用到的 Registered machine密码: 3m9g先把下载好的Registered machine解压,cmd进入黑窗口1.使用navicat-patcher.exe替换掉navicat.exe和libcc.dll里的Navicat激
12799
9
35
2022-06-02
Mysql的zip版本安装教程

Mysql的zip版本安装教程

方便自己下次安装 做个记录。开始1. 先官网下载zip安装包,然后解压 MySQL :: Download MySQL Community Server2. 在解压目录下新建my.ini文件和data目录,将下面的内容拷贝进myini文件。注意 basedir datadir这两项配置需要改成自己
568
0
10
2022-05-31