• Ruoyi从mysql切换到postgresql的几个坑


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

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

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

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

    <dependency>    <groupId>org.postgresqlgroupId>    <artifactId>postgresqlartifactId>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,希望可以帮助到你。如果您有更好的迁移方案,欢迎留言交流。

  • 相关阅读:
    OpenSSL拒绝服务漏洞(CVE-2022-0778)的升级
    类之间的关系
    杭州-区块链前瞻性论坛邀请函​
    嵌入式Linux 开发经验:编写用户态应用程序打开 misc 设备
    Java分别用BIO、NIO实现简单的客户端服务器通信
    MySQL事务的保证机制
    丁鹿学堂:移动端开发之css常用单位总结
    Linux: 进程(控制)
    【非对称加密算法】RSA算法
    推荐:6款好用的安全审计工具!
  • 原文地址:https://blog.csdn.net/yelangkingwuzuhu/article/details/126138370