# A 卡运维数据库 DBA 授权申请 V0.1 > 目标:现有 `model_platform` 保持不变,新建 `model_operations`。以下为权限范围说明,不包含真实账号名和口令。 ## 1. 运维后端 - 现有 `DATABASE_URL`:沿用平台后端连接,用于认证、工作空间和存储;运维代码只查询必要字段。 - 新增 `OPERATIONS_DATABASE_URL`:连接 `model_operations`,读写运维业务表。 - 不申请对 `model_platform` 新增、修改或删除表结构。 建议平台库最小读取范围: | 表 | 字段/用途 | |---|---| | `users` | `user_id/display_name/status/platform_role_id/is_deleted`,明确排除 `password_hash` | | `roles` | `role_id/role_code/role_name/role_scope/is_deleted` | | `workspaces` | `workspace_id/workspace_code/workspace_name/status/is_deleted` | | `workspace_members` | `workspace_id/user_id/role_id/member_status/is_deleted` | | `storage_objects` | 文件元数据;优先通过现有存储服务访问 | | `versions/scripts` | 可选关联开发制品,不作为业务模型主数据 | | `schedules/schedule_runs` | 可选关联模型计算任务,只读运行状态 | ## 2. 模型数据写入方 建议为模型任务使用独立 `MODEL_WRITER_DATABASE_URL`: - `SELECT`:`ops_model_categories` 和 7 张模型源表。 - `INSERT/UPDATE`:`ops_banks`、`ops_model_instances`、`ops_model_versions`、`ops_monitor_batches`、`ops_monitor_results`、`ops_monitor_feature_metrics`、`ops_monitor_distributions`。 - `INSERT`:`ops_outbox_events`,事件类型限定为 `monitor_batch.published`。 - 不授予 `DELETE`,不授予 15 张运维业务表写权限。 已发布批次后的源结果不可修改,该限制还需由写入服务校验;MySQL 表级授权本身无法按行状态限制 `UPDATE`。 ## 3. 架构迁移账号 - 仅在发布窗口使用,可对 `model_operations` 执行 DDL 和种子数据脚本。 - 不作为应用运行账号保存到服务配置。 - 不授予对 `model_platform` 的 DDL 权限。 ## 4. 审核项 - MySQL 版本需为 8.0,字符集 `utf8mb4`,排序规则 `utf8mb4_0900_ai_ci`。 - 确认新库备份、恢复、容量告警和慢查询策略。 - 确认两套连接池上限,避免同一 FastAPI 进程挤满数据库连接。 - 确认 Schedule Executor 何时增加 `model_operations` Outbox 轮询连接。