FlowPacs/sql/dm
芋道源码 d48a236d4c
!720 1. 完善达梦的兼容性;2. 增加域名解析租户编号
Merge pull request !720 from 芋道源码/feature/dameng
2023-11-06 11:57:57 +00:00
..
README.md doc: 添加达梦数据库适配指引 2023-11-06 00:15:16 +08:00
ruoyi-vue-pro-dm8.sql 多租户:调整 tenant 表的 domain 字段为 website,避免 dm 数据库的关键字冲突 2023-11-06 19:04:01 +08:00

达梦数据库适配

达梦测试环境

可以使用Docker或Windows服务器版本。

Docker

参考文档 https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html

下载 Docker 镜像 (版本: 20230808)https://download.dameng.com/eco/dm8/dm8_20230808_rev197096_x86_rh6_64_single.tar

docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar

docker run -d -p 5236:5236 \
    --restart=unless-stopped \
    --name dm8_test \
    --privileged=true \
    -e PAGE_SIZE=16 \
    -e LD_LIBRARY_PATH=/opt/dmdb~~~~ms/bin \
    -e EXTENT_SIZE=32 \
    -e BLANK_PAD_MODE=1 \
    -e LOG_SIZE=1024 \
    -e UNICODE_FLAG=1 \
    -e LENGTH_IN_CHAR=1 \
    -e INSTANCE_NAME=dm8_test \
    -v $PWD/dm8_test:/opt/dmdbms/data \
    dm8_single:dm8_20230808_rev197096_x86_rh6_64

备注:可以尝试使用大小写不敏感配置-e CASE_SENSITIVE=N,需要停止并删除容器后,删除dm8_test目录,重新docker run

Windows

Windows 版本(20230928)https://eco.dameng.com/ https://download.dameng.com/eco/adapter/DM8/202310/dm8_20230928_x86_win_64.zip

安装参考文档:https://eco.dameng.com/document/dm/zh-cn/start/install-dm-windows-prepare.html

傻瓜式安装、数据库实例化,一路下去就好,不用修改任何参数。

更新达梦 jdbc 版本

yudao-dependencies/pom.xml


<dm8.jdbc.version>8.1.3.62</dm8.jdbc.version>

非常重要,老版本的 jdbc 大概率有问题,会报错Invalid Column

数据库管理软件

DM 管理工具:https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-manager.html

数据库导入

为了方便起见,建议使用 SYSDBA/SYSDBA001 建立用户 RUOYI_VUE_PRO/123456 这样就会建立一个名为 RUOYI_VUE_PRO 的 schema。

在不指定默认 schema 的情况下,会使用同名的 schema 作为默认。

执行达梦的 sql/dm/ruoyi-vue-pro-dm8.sql 文件。

数据库链接信息

# application-local.yaml
url: jdbc:dm://localhost:5236
username: RUOYI_VUE_PRO
password: 123456

DAO 改造

由于domain是达梦的关键字,因此需要修改cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO的相关字段

  • 方法 1直接修改为domain_,对应修改数据库字段
  • 方法 2添加注解@TableField("\"DOMAIN\"")

备注:可以通过?schema=RUOYI_VUE_PRO 来制定默认 schema 名称,这样就不用建一个 RUOYI_VUE_PRO 这么憋屈的用户名

关于大小写敏感

参考文档: 详解 DM 数据库字符串大小写敏感 https://eco.dameng.com/community/article/df11811a02de8e923c2e57ef6597bc62

TODO

工作流仍未适配

有价值的参考文章:https://blog.csdn.net/TangBoBoa/article/details/130392495