ITADN

Support for KingbaseES (Kingbase) Dialector

#7759Openlonely-goat 创建于 2026-04-23
type:missing reproduction steps
L
lonely-goatcommented
<!-- DON'T CHANGE THE TEMPLATE --> 维护者您好, 我计划在未来 2 个月内,为 Gorm-V2 贡献一个支持国产**金仓数据库(KingbaseES)**的版本。 经过初步调研,金仓数据库在底层对 PostgreSQL/MySQL 的语法(如 JSONB 处理、事务隔离级别及序列管理)有极高的兼容性,这为 Gorm 的低成本适配提供了良好的技术基础。 <!-- Describe the requested Feature --> 为了确保代码质量并符合 Gorm 的设计哲学,我承诺遵循以下开发标准: 1. 解耦的方言包实现(Dialector Strategy): 计划仿照 gorm.io/driver/postgres 的模式,独立开发 gorm.io/driver/kingbase。通过实现 gorm.Dialector 接口,将特定语法的差异(如 Schema 获取、引号转义等)封装在方言层,绝不侵入 Gorm 核心逻辑,确保现有生态的稳定性。 2. 完备的测试驱动开发: 我将基于 Gorm 官方的 tests 目录编写针对性的集成测试,重点验证数据迁移(AutoMigrate)、JSON 类型支持、以及复杂关联查询在金仓数据库下的表现。 3. 规范化交付: 严格遵循 Gorm 的项目分支管理与代码风格。在提交 Pull Request 前,我会完成全量单元测试,并同步更新相关驱动的使用文档。 <!-- Describe the motivation behind it --> 目前我已着手进行驱动层的初步验证(基于 database/sql),预计在 2 个月内提交 PR。 请问 Gorm 社区目前是否接受此类国产数据库的适配贡献? 另外,关于方言包是建议作为独立仓库维护,还是合并至主组织下,以及是否有特定的架构约束,期待您的指导。 <!-- Link related issues here -->
2 条评论