Commit e63ae8e1e75c800286b534739d2a9d7bd9fbcea2
Committed by
Gitee
!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 | ... | ... |