springboot项目中,MySQL数据库转达梦数据库

打印 上一主题 下一主题

主题 1700|帖子 1700|积分 5100

媒介

前段时间,公司要求要把某几个项目的数据库换成达梦数据库,说是为了国产化。我就挺无语的,三四年的项目了,如今说要换数据库。我一开始以为这个达梦数据库应该是和TIDB差不多的。
我之前做的好几个项目摆设到测试服、正式服就是用的TIDB,因为它险些完全兼容MySQL,我本地都甚至没有安装,打包到测试服有极少数不兼容的写法也是临时改的。
然后我去查了下资料,按照教程安装了达梦,而且使用它自带的迁徙工具,将数据库迁徙到了达梦;再将项目的pom、yml文件也改了之后,运行,好,正常启动了,于是点页面,我直接傻眼,全报错。点一个页面就报错。满是语法题目,无效的列名、无效的函数这些。
我直接:



好好好,这么玩是吧,我怒改SQL,然后发现不管是查询,还是新增、修改、删除,只要是原生SQL,绝大多数都要改。



这个时候就完善体现了mybatis-plus的利益了,用的它自带的增删改查,就完全不用改,除非是查询用到了QueryWrapper的apply方法构建了sql,sql内里有达梦不支持的写法或函数,才需要改。
那我没有办法,项目很多都是联表查询、子查询、分组统计,写了很多原生SQL;新增和修改也是,很多地方用到 on DUPLICATE key ,也全部要改掉。
所以这篇文章来说一下我改SQL的过程中,碰到的一些不兼容的写法,应该如何改正。
转移

首先要先去下载安装达梦数据库,安装完了后,可以使用那个工具自带的数据迁徙工具,将MySQL迁徙至达梦。
[code]下载的时候,记得下载最新版,我自己下载的是2024.4月份的版本,新版对mysql的兼容性最好,能最小程度地改动sql。当然如果公司要求用某个旧版本,那就没办法了。

我就是,我本地用的新版,其实没有花太多时间改,都是抽空改的,边改边研究,不知道达梦对应的写法或函数就问AI,花了不到两天时间就改完了,全部可以正常运行。

但是!!!我打包发给别人部署的时候,全是报错,我人都傻了,晚上我人都在家躺着了,都被叫回去加班了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表