3.5 KiB
3.5 KiB
model_operations 数据库 V0.1
本目录只提供建库建表脚本,不会修改现有 model_platform 库。当前为设计稿,执行生产数据库前仍需 DBA 审核账号、备份和变更窗口。
如需一次性复制执行 24 张新表,直接使用同级文件 model_operations-完整建表-V0.1.sql;该文件不包含建库、视图或种子数据。
先将 model_operations 设为当前活动数据库,再使用 DBeaver 的“执行 SQL 脚本”(Alt/Option + X)。合并文件不再包含 USE;Ctrl/Cmd + Enter 仍只适合单条 CREATE TABLE。
执行顺序
mysql -h <host> -P <port> -u <schema-admin> -p < 00_database.sql
mysql -h <host> -P <port> -u <schema-admin> -p model_operations < 10_reference_and_models.sql
mysql -h <host> -P <port> -u <schema-admin> -p model_operations < 20_monitoring_source.sql
mysql -h <host> -P <port> -u <schema-admin> -p model_operations < 30_governance_and_reviews.sql
mysql -h <host> -P <port> -u <schema-admin> -p model_operations < 40_reports_and_prompts.sql
mysql -h <host> -P <port> -u <schema-admin> -p model_operations < 50_workflows_documents_usage.sql
mysql -h <host> -P <port> -u <schema-admin> -p model_operations < 60_seed.sql
脚本使用 CREATE DATABASE/TABLE IF NOT EXISTS,不包含 DROP、TRUNCATE 或业务数据删除。索引全部内联在建表语句中,避免 MySQL 8 不支持 CREATE INDEX IF NOT EXISTS 的问题。
执行前可运行 python3 validate_schema.py,检查 24 张表、1 个视图、文件行数和破坏性语句。
两库边界
model_platform:只读依赖
| 表 | 运维模块用途 | 允许读取的关键字段 |
|---|---|---|
users |
当前用户、处理人和上传人显示 | user_id/display_name/status/platform_role_id;禁止读取 password_hash |
roles |
登录角色代码和名称 | role_id/role_code/role_name/role_scope |
workspaces |
运维数据空间 | workspace_id/workspace_code/workspace_name/status |
workspace_members |
校验用户能否访问工作空间 | workspace_id/user_id/role_id/member_status |
storage_objects |
报告、评分逻辑和流程材料元数据 | 通过现有存储服务访问,运维表只保存 storage_object_id |
versions/scripts |
可选关联模型开发产物 | 仅引用稳定版本和脚本标识,不把它当业务模型版本 |
schedules/schedule_runs |
可选追踪监控计算任务 | 只读任务和运行状态,不直接改调度数据 |
permissions、role_permissions、upload_sessions、平台 outbox_events 等表不由运维模块直接读写;权限仍由现有登录/权限模块负责。
model_operations:运维模块自有
- 24 张表:7 张模型源表、15 张运维业务表、2 张独立 Outbox/Inbox 技术表。
- 所有
workspace_id/user_id/storage_object_id/platform_versions_id均为跨库逻辑引用,不建立跨库物理外键。 - 模型平台写入 7 张源表,并可向
ops_outbox_events插入monitor_batch.published事件;不得写判级、复核、报告和流程表。 - 运维应用拥有本库业务读写权限,但不得更新已发布的原始监控结果。
应用连接
后端需要两套连接配置:
DATABASE_URL:现有model_platform,沿用认证、工作空间、存储和调度能力。OPERATIONS_DATABASE_URL:新建model_operations,承载全部运维业务数据。
首条真实接口只需要后端双连接;异步判级、报告和提醒接入时,再让 Schedule Executor 增加运维库 Outbox 轮询连接。