Ver Fonte

!719 添加达梦数据库适配指引
Merge pull request !719 from dhb52/master

芋道源码 há 1 ano atrás
pai
commit
e63ae8e1e7
1 ficheiros alterados com 92 adições e 2 exclusões
  1. 92 2
      sql/dm/README.md

+ 92 - 2
sql/dm/README.md

@@ -1,3 +1,93 @@
-暂未适配国产 DM 数据库,如果你有需要,可以微信联系 wangwenbin-server 一起建设。
+# 达梦数据库适配
 
-你需要把表结构与数据导入到 DM 数据库,我来测试与适配代码。
+## 达梦测试环境
+
+可以使用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
+
+```shell
+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`
+
+```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` 文件。
+
+## 数据库链接信息
+
+```yaml
+# 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