CasDoor 达梦数据库信创适配项目

基本信息

案例ID:246379

技术顾问:多喝热水 - 5年经验 - 华峰

联系沟通

微信扫码,建群沟通

项目名称:CasDoor 达梦数据库信创适配项目

所属行业:企业服务 - 云计算

->查看更多案例

案例介绍

1. XORM 数据库驱动层适配

CasDoor 使用 XORM 作为数据库 ORM 框架。达梦 8 的官方 Go 驱动基于 database/sql 接口实现,理论上可以与 XORM 集成。但在实际适配中,CasDoor 集成的 XORM 版本过低,无法与达梦驱动兼容。通过升级 XORM 依赖至最新版本,成功打通了 CasDoor 与达梦数据库的连接通道。

2. 数据库连接配置

采用达梦数据库驱动连接串格式 dm://用户名:密码@IP:端口/,在 CasDoor 配置文件中完成数据源配置。达梦数据库服务端需开启兼容模式,通过修改 dm.ini 配置文件中 COMPATIBLE_MODE=4 参数,实现对 MySQL 语法的兼容支持。

3. 日期字段兼容性修复

适配过程中遇到 CasDoor 看板页面的 getDashBoard 接口使用了日期条件查询,在达梦数据库中日期格式转换存在兼容性问题。CasDoor 将所有日期字段(如 created_time)定义为 varchar 类型以兼容不同数据库,但接口代码中仍以 Time 类型作为入参,导致类型不匹配。解决方案是将时间入参按格式转换为字符串,利用字典序进行比较,实现与 datetime 类型等效的日期操作。

4. 容器化部署交付

完成适配后,构建了支持 ARM64 与 AMD64 双架构的 Docker 镜像,并发布至 DockerHub。可通过环境变量 driverName=dm 与 dataSourceName 一键完成达梦数据库连接配置。

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服