v2-refactor-temp/docs/knowledge/knowledge-structure-change-list.md
本文档用于记录 Knowledge V2 还需要修改的数据结构项。
只记录已经确认的结构性调整,不记录未确认的 UI 推断或实现细节。
groupTable,为 knowledge_base 增加 groupIdknowledge_group 表。src/main/data/db/schemas/group.ts 中的 groupTable。knowledge_base 上增加 groupId 字段,关联到 groupTable.id。group.entityType 约定使用:
knowledge_baseKnowledgeBaseService 不额外强校验 entityType,由 SQLite 外键约束负责 groupId 的引用完整性。knowledge_item.groupId:
knowledge_item.groupId 的语义仍然是 item 级来源/容器分组SQLite Schema
src/main/data/db/schemas/knowledge.tsknowledgeBaseTable 上新增:
groupId: text().references(() => groupTable.id, { onDelete: 'set null' })Shared Data Types / API Schema
src/shared/data/types/knowledge.*src/shared/data/api/schemas/knowledges.tsKnowledgeBase、CreateKnowledgeBaseDto、UpdateKnowledgeBaseDto 支持 groupIdData Service / Handler 约束
KnowledgeBaseServicegroupId / entityType 业务校验groupId 直接透传,不做 trim 或空值归一化Migration / 兼容策略
groupIdnullknowledge_group 表knowledge_item.groupId 改造成知识库分组字段iconcolorisDefaultparentIdknowledge_base 主数据结构knowledge_base 持久化图标字段knowledge_base 上持久化 emoji 或 icon 字段。SQLite Schema
src/main/data/db/schemas/knowledge.tsknowledgeBaseTable 不包含 emoji / icon 字段。Shared Data Types / API Schema
src/shared/data/types/knowledge.tssrc/shared/data/api/schemas/knowledges.tsKnowledgeBase、CreateKnowledgeBaseDto、UpdateKnowledgeBaseDto 不暴露知识库图标字段。Data Service / Handler 约束
KnowledgeBaseServiceMigration / 兼容策略
emoji 兼容逻辑。emojiiconiconTypeiconUrlcoverseparatorRuleknowledge_base 主数据结构