Ruoyi从mysql切换到postgresql的几个踩坑实战,
目录
- 前言
- 一、在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或者分页插件数据库类别支持
上面两个地方红框中的字符都要替换掉。
三、数据库连接池要做相应调整
四、自动任务依赖,如果您开启了quartz组件,请记得打开以下注释
//pg启用特殊配置,否则会报错 update by wuzuhu on 20181224 //prop.put("org.quartz.jobStore.driverDelegateClass", "org.quartz.impl.jdbcjobstore.PostgreSQLDelegate");
五、在所有的Mapper.xml配置文件中,找到有sysdate()的函数,需要替换成now()函数。
六、所有带日期查询函数需要替换成如下的代码:
七、mysql find_in_set()函数可以使用ANY()方案。
比如:
#{deptId} || '' = ANY(STRING_TO_ARRAY(ancestors, ','))
总结:
通过以上步骤基本可以完成ruoyi的数据库从mysql切换到postgresql,希望可以帮助到你。
到此这篇关于Ruoyi从mysql切换到postgresql的几个踩坑实战的文章就介绍到这了,更多相关Ruoyi从mysql切换postgresql内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!
您可能感兴趣的文章:- 基于PostgreSQL和mysql数据类型对比兼容
- PostgreSQL使用MySQL外表的步骤详解(mysql_fdw)
- postgresql如何兼容MySQL if函数
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。