因为工程应用需要,需要将ruoyi的数据库支持从MysqL切换到postgresql。网上也有一些开源的demo或者已经集成好的框架说明已经将数据库进行了切换。本文将简单介绍在进行数据库切换时,可能会遇到的几个问题,以及怎么解决。
虽然同为关系型数据库,但MysqL和postgresql在sql的兼容性方面不是很好,MysqL支持的语法在postgresql中很多是不认识的。
闲言少叙,下面进入正文。
一、在pom.xml文件中将MysqL的依赖jar包替换成postgresql的。
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
四、自动任务依赖,如果您开启了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,希望可以帮助到你。如果您有更好的迁移方案,欢迎留言交流。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。