Files
railwaysystem/qa-bootstrap/manifest.md
T

52 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RailwaySystem 融合测试数据库初始化包清单 (Manifest)
> **目标数据库**: `railwaysystem_fusion_qa_20261013`
> **构建基准**: Round 3B Bootstrap 结构冲突彻底修复
> **生成时间**: 2026-10-13
> **安全声明**: 纯离线生成,未执行真实数据库写操作,全量数据为纯合成数据。
---
## 一、文件顺序、来源、依赖与 SHA-256 校验和
| 执行顺序 | 文件名称 | 模式 (Schema) | 来源追溯 (Source) | 前置依赖 | SHA-256 哈希值 |
| :---: | :--- | :---: | :--- | :--- | :--- |
| **01** | `sql/01_system_foundation.sql` | `public` | `sql/ry_20250522.sql` + `sql/quartz.sql` (彻底限定 public. 命名空间,消除系统视图歧义与转义语法) | 空库 | `03fd416f7ef069326ec9fc27bfa2778e57f94580d7f107417e658cd82b33d408` |
| **02** | `sql/02_training_v2_schema.sql` | `public` | 融合工程真实实体、Mapper XML、权威 V2 迁移基线彻底对齐版 (对齐学习时长幂等索引) | 01 (sys_*) | `e2d72300ee4a0bd411c569d3418426e4391aa4145751ba8e16a813799fa5820b` |
| **03** | `sql/03_system_permissions_and_menus.sql` | `public` | `sql/system/kingbase/` (004~015) 纯净单事务版 (彻底限定 public. ALTER/INDEX) | 01, 02 | `194f7c53b981222e4e47e0d6582d01386e8e219fb39942671a61fafb16ca47d3` |
| **04** | `sql/04_iotlocks_schema.sql` | `iotlocks` + `public` | `sql/kingbase/lock.sql` (修复事务、字典与动态授权,规避菜单2060冲突) | 01, 03 | `3140e7c1b0be68c9364483d3a521f671f2559f2f7dda400f8a983bdafed6e94e` |
| **05** | `sql/05_synthetic_demo_data.sql` | `public` | `sql/demo/` (001~004) 纯合成演示主数据 (修复 score_id 幂等冲突目标) | 01, 02, 03 | `4ec64a905a32c940160b3fdbc01b3be85291e639f4a4612bd0c04c0e9b162e02` |
| **05b** | `sql/05b_fusion_iot_test_data.sql` | `iotlocks` + `public` | 专属跨模式 IoT 门锁业务融合测试数据集 (初始未授权状态,对齐04列名) | 01 ~ 05 | `97a98ae7ac46d6a22e966b0d9046d94faa166fbfd9173778d8803abeaaab01f2` |
| **06** | `sql/06_verify_schema_integrity.sql` | `public` + `iotlocks` | 自动化只读断言脚本 (含 Mapper 列、部分唯一索引与初始未授权断言) | 01 ~ 05b | `413ac8778e7acfecbae760cadaef565af2cdcc1f38e54f2c19ba0f29c11c32b2` |
| **07** | `sql/07_restore_training_menus_and_notice.sql` | `public` | 恢复原系统完整业务路由菜单体系与补齐 sys_notice_read 运行时表 | 01 ~ 06 | `9cdf10533034f8824ddbcf6fcb0abc7e7b873ad02ed66dc6581691a005a8dc17` |
| **-** | `application-fusion-qa.yml.example` | 配置样例 | 修复 search_path 多模式透明路由 | - | `36885396fdacf9edcd06e5453f9f3601ab7bc3fd8a2e352cb441284e028802a1` |
| **-** | `env.example` | 配置模板 | 独立环境配置规范与安全凭证样例 | - | `ba558951bc51985f0a0b33af422faf928d35a6c2f27041dcbbac143f41e6053b` |
| **-** | `scripts/run_bootstrap.sh` | 运维脚本 | 安全白名单 Runner (默认 dry-run,支持7脚本) | - | `4fcd54b6a1b3626026b1c4d111ba68d27fc50e55a9c303881d3b14f76022a989` |
| **-** | `scripts/cleanup_guide.md` | 操作手册 | 手动回滚与销毁指引 (不自动执行) | - | `29578fcfbdbee6d5ef36349f08070d9e5e5469ebdc57e4ea3c65307280e022a7` |
---
## 二、真实源码与权威基线核对记录
### 1. `train_accommodation` 字段与唯一约束冲突修复
- **源码依据**:`TrainAccommodationMapper.xml`(引用 `accommodation_id`, `accommodation_status`, `assigned_time`, `bed_no`,无 `plan_id` 插入)与实体 `TrainAccommodation.java`。
- **约束冲突**:废除原 `UNIQUE (enrollment_id)`,改为部分唯一索引 `WHERE accommodation_status IN (0, 1)`,解决历史退宿 (2) 与重新入住 (1) 冲突。
### 2. `train_classroom_info` 主键字段核对
- **源码依据**:`TrainClassroomInfoMapper.xml` 及基线 `000_phase05_exact_schema.sql` 第 133 行明确主键为 `class_room_id`。
### 3. `train_resource` 主键字段核对
- **源码依据**:`TrainResourceMapper.xml` 与 `TrainCourseResourceMapper.xml`(`cr.resource_id = r.resource_id`),明确列名为 `resource_id`。
### 4. `train_enrollment` 学员外键字段核对
- **源码依据**:`TrainEnrollmentMapper.xml`(`student_id`,`left join train_student s on e.student_id = s.s_id`),明确列名为 `student_id`。
### 5. `train_score_item` 权重字段核对
- **源码依据**:`002_create_new_tables.sql` 第 181 行及 `TrainScoreInfoMapper.xml`,物理列为 `weight`。
### 6. `train_external_operation` 对接操作字段核对
- **源码依据**:`TrainExternalOperationMapper.xml`,列名为 `door_auth_id` 与 `business_type`。
### 7. 端到端测试初始数据规范
- **规范依据**:`05b_fusion_iot_test_data.sql` 初始授权必须置为 `auth_status='0', sync_status='0'`,通过业务 API 与 Mock 回执真实推动状态,不预置成功状态冒充完整链路。