达梦数据库适配
达梦数据库适配环境说明
本文档编写是建立在 dm8_20240103_x86_win_64
版本下适配的,其他版本大同小异。
建立数据库环境
下载并安装达梦 DM8,可以复制以下链接进入官网下载达梦 DM8:
https://www.dameng.com/DM8.html ,链接只做参考,如已改变,请访问官网下载。
连接数据库并创建公共数据库
使用达梦 DM8 自带客户端软件 DM 管理工具
连接达梦数据库,输入数据库连接配置服务器地址、用户名 SYSDBA
和密码连接数据库,然后,创建公共数据库 Y9_PUBLIC
。
连接本地数据库,如下图:
首先需要先新建用户,如下图:
用户授权,如下图:
新建模式,并且,选择模式拥有者,也就是之前新建的用户,如下图:
点击确定,数据库就完成新建。
修改组织身份管理 platform 配置文件
项目工程目录:risenet-y9boot-webapp-platform/src/resources/application.yml
yaml
# 如开启 javers 实体审计日志则需做对应调整,否则无需关注
javers:
newObjectSnapshot: true
# 由于 javers 没有兼容达梦数据库,关闭自动生成表结构的开关,手动导入 y9-digitalbase-module/y9-module-platform/risenet-y9boot-webapp-platform/src/main/resources/javers-dm.sql
sqlSchemaManagementEnabled: false
# 是否开启 javers 实体审计日志记录
springDataAuditableRepositoryAspectEnabled: true
# 是否开启 javers 自动配置
enabled: false
# 由于 javers 没有直接兼容达梦数据库,使用 oracle 方言来做间接的兼容
dialect: oracle
spring:
datasource:
druid:
filter:
wall:
#关闭Druid防御SQL注入攻击的WallFilter,不然无法操作数据库
enabled: false
y9-public:
#修改为Dameng驱动类名称
driver-class-name: dm.jdbc.driver.DmDriver
#修改为Dameng连接池url
url: jdbc:dm://localhost:5236?compatibleMode=oracle
#修改为Dameng的用户
username: Y9_PUBLIC
#修改为Dameng的用户密码
password: '111111'
jpa:
#修改为Dameng版本对应的方言
database-platform: org.hibernate.dialect.DmDialect
properties:
hibernate:
hbm2ddl:
#因为liquibase不兼容Dameng数据库。开启Spring jpa配置让表自动生成
auto: update
#修改为Dameng版本对应的方言
dialect: org.hibernate.dialect.DmDialect
y9:
feature:
# 因为 liquibase 不兼容达梦数据库,关闭 liquibase
liquibase:
tenant-enabled: false
public-enabled: false
修改单点登录 sso 配置文件
项目工程目录:risenet-y9boot-webapp-sso-server-jpa/src/resources/application.yml
IMPORTANT
配置中的数据库连接池的配置:(注:此配置只有纯数据库模式的单点登录需要修改) 单点登录的配置需要修改两个地方:服务注册和票据注册
yaml
cas:
# 服务注册 jpa 配置
serviceRegistry:
jpa:
dialect: org.hibernate.dialect.DmDialect
driver-class: dm.jdbc.driver.DmDriver
url: jdbc:dm://localhost:5236
user: Y9_PUBLIC
password: '111111'
# 票据注册 jpa 配置
ticket:
registry:
jpa:
enabled: true
dialect: org.hibernate.dialect.DmDialect
driver-class: dm.jdbc.driver.DmDriver
url: jdbc:dm://localhost:5236
user: Y9_PUBLIC
password: '111111'
spring:
integration:
jdbc:
# 同样由于使用到的 spring-integration 没有直接兼容达梦数据库,使用 oracle 方言来做间接的兼容
platform: oracle