数据模型与初始化
大约 3 分钟后端开发开发指南
数据模型与初始化
当前版本的 AI 新装脚本包含 42 张 ai_ 业务表。系统身份与菜单保存在 blade_ 表中,AI 业务通过资源、版本、运行和用量建立关联。
领域表
| 领域 | 业务表 |
|---|---|
| 模型与提示词 | ai_model、ai_prompt |
| 数据源与问数 | ai_datasource、ai_insight、ai_insight_dashboard、ai_insight_glossary、ai_insight_sample |
| 知识与向量库 | ai_knowledge、ai_knowledge_document、ai_knowledge_segment、ai_knowledge_ingest_task、ai_knowledge_vector_task、ai_vector_store |
| 扩展与渠道 | ai_skill、ai_skill_resource、ai_skill_script、ai_plugin、ai_mcp_server、ai_platform、ai_notify_channel、ai_notify_template |
| 应用与智能体 | ai_app、ai_app_version、ai_agent、ai_agent_version、ai_app_wechat_binding、ai_app_wechat_message |
| 授权与记录 | ai_resource_grant、ai_api_key、ai_conversation、ai_message、ai_run、ai_usage |
| 内容安全 | ai_sensitive_word、ai_sensitive_hit、ai_sensitive_policy |
| 创作工坊 | ai_studio_project、ai_studio_version、ai_studio_asset、ai_studio_task、ai_studio_brand、ai_studio_share |
主要关系
字段约定
业务实体继承租户与审计字段,包含 tenant_id、创建/更新信息、通用状态和逻辑删除标记。业务运行状态使用独立字段,例如 ai_run.state。
主键在 JSON 中按字符串传输,前端资源标识使用 string。流程定义、配置和快照以 JSON 文本保存,读取时按领域类型解析。
模型与连接凭证由服务保存,接口包装器返回掩码。开放 API 密钥采用单独的签发与摘要保存机制,见 认证授权与租户隔离。
新装顺序
在空白 MySQL 库中按 01 系统表、02 AI 表、03 初始菜单顺序执行。容器首次初始化使用已合并的 database/init.sql。具体步骤见 后端服务启动。
表结构与初始数据的改动在同一次提交内同步三处:
| 位置 | 维护内容 |
|---|---|
| 全量脚本 | 表结构改 doc/sql/02,菜单、按钮、客户端等初始数据改 doc/sql/03;全量脚本始终是目标版本的最终形态,新装只执行全量脚本 |
doc/script/docker/app/database/init.sql | 由 01、02、03 依次拼接重新生成,不单独修改 |
| 版本区间升级脚本 | doc/sql/upgrade/bladex.mysql.ai.upgrade.<上一发布版本>-<目标版本>.sql,写成在上一发布版本的库上执行的增量语句;一个发布区间只有一份脚本,改动按时间顺序追加 |
升级脚本的列名、类型、默认值、注释、索引与 AFTER 位置与全量脚本逐项一致,使升级后的库与新装的库结构相同。系统表(01)属于基座,其升级跟随 BladeX 官方同版本的升级脚本。代码按当前版本的结构编写,数据结构演进与数据回填只由升级脚本承担,执行方式见 版本升级。
本文表关系表示业务引用,不代表数据库声明了对应外键。
源码定位:doc/sql/02-bladex.mysql.ai.create.sql、各引擎域 pojo/entity 与对应业务服务。
