# 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 回执真实推动状态,不预置成功状态冒充完整链路。