mirror of
https://github.com/feigeCode/navop.git
synced 2026-11-06 16:07:51 +00:00
产品分离后 data_domain 只注册内置数据库与 Redis/MongoDB,驱动清单里的
外部驱动(国产数据库等)既不出现在新建入口,表单也拿不到驱动 ID。这次把
它接回新架构,并保持各产品仍由 registry 驱动。
- domain_api:ConnectionKindDescriptor 增加可选的运行时元数据——标签覆盖、
卡片描述、旧版类目(如 domestic_database)与图标来源(随包资产 / 磁盘
文件),都用构建器方法按需填充,既有构造点无需改动。
- data_domain:kind_descriptors() 追加已安装驱动(跳过 ui.show_in_new_connection
为 false 的、以及由内置类型代表的 duckdb / oracle-go / tdengine / clickhouse),
ID 为 db:external:{driver_id},标签/描述/类目/图标取自驱动清单;resolve_kind
认这个 ID 并还原成 DatabaseType::external;kind_for 把外部数据库连接映射回
同一种类;数据库表单对 External 传入 external_driver_id。
- app_kit:向导按 descriptor 的类目、描述、图标渲染;驱动清单里的
domestic_database 归入「国产数据库」,未识别的类目仍按分组回退。
测试:新增域契约与向导类目单测(data_domain 9 个、app_kit 3 个);
cargo check -p domain_api/data_domain/app_kit/navop_app、cargo build -p navop、
i18n 契约测试均通过。