nacos-plugin icon indicating copy to clipboard operation
nacos-plugin copied to clipboard

V3.0.1

Open shilyaziw opened this issue 5 months ago • 3 comments

更新datasource插件到nacos v3.0.1,除dm外,其余datasource需要测试

shilyaziw avatar Jun 30 '25 06:06 shilyaziw

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jun 30 '25 06:06 CLAassistant

升级Nacos数据源插件至v3.0.1并优化多数据库适配

变更概述

新功能

  • 新增config_info_grayconfig_tags_relationhis_config_info等核心配置表的多数据库适配结构,支持Dameng/Kingbase/Oracle/PostgreSQL等数据库的SQL语法差异
  • 新增ConfigMigrateMapper接口及其各数据库实现类,完善配置迁移功能模块

重构

  • BaseConfigInfoAggrMapper重命名为BaseConfigInfoGrayMapper,并统一各数据库实现类的命名规范
  • 重构ConfigInfoMapper等基础类的数据库方言处理逻辑,通过DatabaseDialectManager统一管理方言特性

数据库变更

  • 更新所有支持数据库的schema定义,新增config_info_gray表结构并添加唯一约束UK_CONFIG_INFO_GRAY
  • 优化GROUP_CAPACITYTENANT_CAPACITY表的索引策略,添加自增主键和分页查询优化字段
  • 调整config_info表的租户字段默认值逻辑,使用NamespaceUtil统一处理命名空间

依赖更新

  • 升级Nacos核心依赖版本至3.0.1
  • 移除nacos-aes-encryption-plugin的冗余依赖声明

安全增强

  • 新增TrustedDamengFunctionEnumTrustedKingbaseFunctionEnum等枚举类,限制SQL函数注入风险
  • 统一各数据库方言对NOW()等内置函数的规范化处理

配置调整

  • 更新META-INF/services映射配置,新增ConfigMigrateMapper等接口实现类的注册
  • 调整数据库方言初始化逻辑,通过枚举类集中管理可信函数列表
变更文件
文件路径 变更说明
nacos-datasource-plugin-ext/​nacos-dm-datasource-plugin-ext/​src/​main/​java/​com/​alibaba/​nacos/​plugin/​datasource/​impl/​dm/​ConfigInfoGrayMapperByDaMeng.​java 新增支持Dameng数据库的灰度配置映射实现
nacos-datasource-plugin-ext/​nacos-dm-datasource-plugin-ext/​src/​main/​resources/​schema/​nacos-dm.​sql 创建config_info_gray等核心表结构,添加唯一约束和索引优化
nacos-datasource-plugin-ext/​nacos-datasource-plugin-ext-base/​src/​main/​java/​com/​alibaba/​nacos/​plugin/​datasource/​impl/​base/​BaseConfigInfoMapper.​java 优化租户字段处理逻辑,使用NamespaceUtil统一默认值
nacos-datasource-plugin-ext/​nacos-opengauss-datasource-plugin-ext/​src/​main/​java/​com/​alibaba/​nacos/​plugin/​datasource/​impl/​opengauss/​OpenGaussConfigMigrateMapper.​java 新增OpenGauss数据库的配置迁移映射实现
nacos-datasource-plugin-ext/​nacos-oracle-datasource-plugin-ext/​src/​main/​resources/​schema/​nacos-oracle.​sql 重构Oracle表结构定义,添加序列和触发器实现自增主键
pom.xml 升级Nacos核心依赖版本至v3.0.1并移除冗余加密插件依赖
时序图
sequenceDiagram
    participant BCM as BaseConfigMigrateMapper
    participant DMD as DaMengDatabaseDialect
    participant KBD as KingbaseDatabaseDialect
    participant OG as OpenGaussDatabaseDialect
    BCM->>DMD: getFunction("NOW()")
    BCM->>KBD: getPrimaryKeyGeneratedKeys()
    BCM->>OG: getLimitPageSqlWithOffset()
    DMD-->>BCM: 返回Dameng专用函数SYSDATE()
    KBD-->>BCM: 返回自增主键策略
    OG-->>BCM: 返回分页查询优化后的SQL语句

💡 小贴士

与 lingma-agents 交流的方式

📜 直接回复评论 直接回复本条评论,lingma-agents 将自动处理您的请求。例如:

  • 在当前代码中添加详细的注释说明。

  • 请详细介绍一下你说的 LRU 改造方案,并使用伪代码加以说明。

📜 在代码行处标记 在文件的特定位置创建评论并 @lingma-agents。例如:

  • @lingma-agents 分析这个方法的性能瓶颈并提供优化建议。

  • @lingma-agents 对这个方法生成优化代码。

📜 在讨论中提问 在任何讨论中 @lingma-agents 来获取帮助。例如:

  • @lingma-agents 请总结上述讨论并提出解决方案。

  • @lingma-agents 请根据讨论内容生成优化代码。

lingma-agents[bot] avatar Jun 30 '25 06:06 lingma-agents[bot]

@shilyaziw OpenGauss 已经由原作者适配完毕了, 麻烦同步一下新代码, 解决一下冲突。

KomachiSion avatar Sep 26 '25 07:09 KomachiSion