Files

model_operations 数据库 V0.1

本目录只提供建库建表脚本,不会修改现有 model_platform 库。当前为设计稿,执行生产数据库前仍需 DBA 审核账号、备份和变更窗口。

如需一次性复制执行 24 张新表,直接使用同级文件 model_operations-完整建表-V0.1.sql;该文件不包含建库、视图或种子数据。

先将 model_operations 设为当前活动数据库,再使用 DBeaver 的“执行 SQL 脚本”(Alt/Option + X)。合并文件不再包含 USECtrl/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,不包含 DROPTRUNCATE 或业务数据删除。索引全部内联在建表语句中,避免 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 可选追踪监控计算任务 只读任务和运行状态,不直接改调度数据

permissionsrole_permissionsupload_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 轮询连接。