开源项目 - RuoYi-Cloud集成PostgreSQL数据库

1、创建数据库

执行ry-cloud-postgreSQL脚本

原文地址(持续更新)

sql/postgresql.sql · Listen/RuoYi-Vue-Postgresql - Gitee.com

2、在Nacos中修改yml的相应的参数

涉及配置文件

  1. ruoyi-job-dev.yml
  2. ruoyi-system-dev.yml
  3. ruoyi-gen-dev.yml

validationQuery: SELECT 1 

driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: postgres
password: postgres

3、代码修改

提示:只修改ruoyi-system目录下的内容即可

3.1 修改pom.xml文件,将mysql的依赖jar包替换成postgresql

涉及配置文件

  1. ruoyi-job-dev.yml
  2. ruoyi-system-dev.yml
  3. ruoyi-gen-dev.yml

3.2 将SysMenuMapper.xml中的`query`改为query

3.3 全局替换项目中使用的ifnull函数为coalesce

因为postgresql数据库没有ifnull()函数。

注意只替换ifnull为coalesce,不带括号。

3.4 全局替换Mapper中 status = 0 为 status = '0'

3.5 全局替换Mapper中sysdate()为now()

因为postgresql数据库没有sysdate()函数

3.6 全局替换Mapper中find_in_set(#{deptId}, ancestors)为cast(#{deptId} as varchar) = any(string_to_array(ancestors,','))

部门查询SQL中使用到的find_in_set函数

3.7 修改ScheduleConfig,添加自动任务依赖

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

3.8 替换Mapper中date_format

  • 全局替换date_format(#{params.beginTime},'%y%m%d')替换成 to_timestamp(#{params.beginTime}, 'YYYY-mm-dd')
  • 全局替换date_format(#{params.endTime},'%y%m%d')替换成 to_timestamp(#{params.endTime}, 'YYYY-mm-dd')
  • 全局替换date_format(替换成 to_timestamp(to_char(
  • 全局替换,'%y%m%d')替换成,'YYYY-mm-dd'), 'YYYY-mm-dd')

替换前

替换后

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值