Ruoyi从mysql切换到postgresql的几个踩坑实战

2023-12-07 0 762
目录
  • 前言
  • 一、在pom.xml文件中将mysql的依赖jar包替换成postgresql的。
  • 二、mybatis-plus或者分页插件数据库类别支持
  • 三、数据库连接池要做相应调整
  • 四、自动任务依赖,如果您开启了quartz组件,请记得打开以下注释
  • 五、在所有的Mapper.xml配置文件中,找到有sysdate()的函数,需要替换成now()函数。
  • 六、所有带日期查询函数需要替换成如下的代码:
  • 七、mysql find_in_set()函数可以使用ANY()方案。
  • 总结:

前言

因为工程应用需要,需要将ruoyi的数据库支持从mysql切换到postgresql。网上也有一些开源的demo或者已经集成好的框架说明已经将数据库进行了切换。本文将简单介绍在进行数据库切换时,可能会遇到的几个问题,以及怎么解决。

虽然同为关系型数据库,但mysql和postgresql在sql的兼容性方面不是很好,mysql支持的语法在postgresql中很多是不认识的。

闲言少叙,下面进入正文。

一、在pom.xml文件中将mysql的依赖jar包替换成postgresql的。

<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>

二、mybatis-plus或者分页插件数据库类别支持

Ruoyi从mysql切换到postgresql的几个踩坑实战

上面两个地方红框中的字符都要替换掉。

三、数据库连接池要做相应调整

Ruoyi从mysql切换到postgresql的几个踩坑实战

四、自动任务依赖,如果您开启了quartz组件,请记得打开以下注释

//pg启用特殊配置,否则会报错 update by wuzuhu on 20181224
//prop.put(\”org.quartz.jobStore.driverDelegateClass\”, \”org.quartz.impl.jdbcjobstore.PostgreSQLDelegate\”);

五、在所有的Mapper.xml配置文件中,找到有sysdate()的函数,需要替换成now()函数。

六、所有带日期查询函数需要替换成如下的代码:

Ruoyi从mysql切换到postgresql的几个踩坑实战

七、mysql find_in_set()函数可以使用ANY()方案。

比如:

#{deptId} || \’\’ = ANY(STRING_TO_ARRAY(ancestors, \’,\’))

Ruoyi从mysql切换到postgresql的几个踩坑实战

总结:

通过以上步骤基本可以完成ruoyi的数据库从mysql切换到postgresql,希望可以帮助到你。

到此这篇关于Ruoyi从mysql切换到postgresql的几个踩坑实战的文章就介绍到这了,更多相关Ruoyi从mysql切换postgresql内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 PostgreSQL Ruoyi从mysql切换到postgresql的几个踩坑实战 https://www.u-9.cn/database/postgresql/122820.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务