Commit e63ae8e1e75c800286b534739d2a9d7bd9fbcea2

Authored by 芋道源码
Committed by Gitee
2 parents 370d6df4 24b96888

!719 添加达梦数据库适配指引

Merge pull request !719 from dhb52/master
Showing 1 changed file with 92 additions and 2 deletions
sql/dm/README.md
1 -暂未适配国产 DM 数据库,如果你有需要,可以微信联系 wangwenbin-server 一起建设。 1 +# 达梦数据库适配
2 2
3 -你需要把表结构与数据导入到 DM 数据库,我来测试与适配代码。 3 +## 达梦测试环境
  4 +
  5 +可以使用Docker或Windows服务器版本。
  6 +
  7 +### Docker
  8 +
  9 +参考文档 https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html
  10 +
  11 +下载 Docker 镜像 (版本: 20230808):https://download.dameng.com/eco/dm8/dm8_20230808_rev197096_x86_rh6_64_single.tar
  12 +
  13 +```shell
  14 +docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar
  15 +
  16 +docker run -d -p 5236:5236 \
  17 + --restart=unless-stopped \
  18 + --name dm8_test \
  19 + --privileged=true \
  20 + -e PAGE_SIZE=16 \
  21 + -e LD_LIBRARY_PATH=/opt/dmdb~~~~ms/bin \
  22 + -e EXTENT_SIZE=32 \
  23 + -e BLANK_PAD_MODE=1 \
  24 + -e LOG_SIZE=1024 \
  25 + -e UNICODE_FLAG=1 \
  26 + -e LENGTH_IN_CHAR=1 \
  27 + -e INSTANCE_NAME=dm8_test \
  28 + -v $PWD/dm8_test:/opt/dmdbms/data \
  29 + dm8_single:dm8_20230808_rev197096_x86_rh6_64
  30 +```
  31 +
  32 +备注:可以尝试使用大小写不敏感配置`-e CASE_SENSITIVE=N`,需要停止并删除容器后,删除`dm8_test`目录,重新`docker run`。
  33 +
  34 +### Windows
  35 +
  36 +Windows 版本(20230928):https://eco.dameng.com/
  37 +https://download.dameng.com/eco/adapter/DM8/202310/dm8_20230928_x86_win_64.zip
  38 +
  39 +安装参考文档:https://eco.dameng.com/document/dm/zh-cn/start/install-dm-windows-prepare.html
  40 +
  41 +傻瓜式安装、数据库实例化,一路下去就好,不用修改任何参数。
  42 +
  43 +## 更新达梦 jdbc 版本
  44 +
  45 +`yudao-dependencies/pom.xml`
  46 +
  47 +```xml
  48 +
  49 +<dm8.jdbc.version>8.1.3.62</dm8.jdbc.version>
  50 +```
  51 +
  52 +非常重要,老版本的 jdbc 大概率有问题,会报错`Invalid Column`
  53 +
  54 +## 数据库管理软件
  55 +
  56 +DM 管理工具:https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-manager.html
  57 +
  58 +## 数据库导入
  59 +
  60 +为了方便起见,建议使用 SYSDBA/SYSDBA001 建立用户 RUOYI_VUE_PRO/123456
  61 +这样就会建立一个名为 RUOYI_VUE_PRO 的 schema。
  62 +
  63 +在不指定默认 schema 的情况下,会使用同名的 schema 作为默认。
  64 +
  65 +执行达梦的 `sql/dm/ruoyi-vue-pro-dm8.sql` 文件。
  66 +
  67 +## 数据库链接信息
  68 +
  69 +```yaml
  70 +# application-local.yaml
  71 +url: jdbc:dm://localhost:5236
  72 +username: RUOYI_VUE_PRO
  73 +password: 123456
  74 +```
  75 +
  76 +## DAO 改造
  77 +
  78 +由于`domain`是达梦的关键字,因此需要修改`cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO`的相关字段
  79 +
  80 +- 方法 1:直接修改为`domain_`,对应修改数据库字段
  81 +- 方法 2:添加注解`@TableField("\"DOMAIN\"")`
  82 +
  83 +备注:可以通过?schema=RUOYI_VUE_PRO 来制定默认 schema 名称,这样就不用建一个 RUOYI_VUE_PRO 这么憋屈的用户名
  84 +
  85 +## 关于大小写敏感
  86 +
  87 +参考文档: 详解 DM 数据库字符串大小写敏感 https://eco.dameng.com/community/article/df11811a02de8e923c2e57ef6597bc62
  88 +
  89 +## TODO
  90 +
  91 +工作流仍未适配
  92 +
  93 +有价值的参考文章:https://blog.csdn.net/TangBoBoa/article/details/130392495