使用ruoyi集成postgresql数据库爬坑

按以下步骤,拒绝掉坑 1、使用navicat工具把mysql的数据库复制一份到postgresql中对应的数据库中

2、修改application-druid.yml的相应的参数 driverClassName: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/ry_vue validationQuery: SELECT 1

3、修改postgresql数据中qrtz_job_details表中varchar 1为varchar 10,否则运行会提示:对于可变字符类型来说,值太长了(1)

4、在ScheduleConfig中添加prop.put(“org.quartz.jobStore.driverDelegateClass”, “org.quartz.impl.jdbcjobstore.PostgreSQLDelegate”);

5、全局替换项目中使用的sysdate()函数为now(),因为postgresql数据库没有sysdate()函数

6、全局替换项目中使用的ifnull()函数为coalesce(),因为postgresql数据库没有ifnull()函数。注意只替换ifnull为coalesce,不带括号。

7、修改部门查询SQL中使用到的find_in_set函数,把 find_in_set(#{deptId}, ancestors) 替换cast(#{deptId} as varchar) = any(string_to_array(ancestors,’,’))

8、处理数据库中表的自增问题,mysql数据库支持直接对主键自增,postgresql数据库只能通过建立序列的方式来实现对主键的自增,所以需要对所有主键自增的表进行序列创建和关联。

--创建用户表ID自增序列
create sequence public.sys_user_id_seq
increment 1
start 200
minvalue 1
maxvalue 99999999
cache 1;

--把序列和用户表ID关联上
alter table public.sys_user alter column user_id set default nextval(public.sys_user_id_seq);

9、修改Mapper中 status = 0 为 status = ‘0’

10、修改数据库中的默认值 如:sys_user中的user_type、sex、status、del_flag的默认值

经验分享 程序员 微信小程序 职场和发展