QDAirPortBackend0122/doc/work/数据库合并方案_20250115.md
2026-01-22 13:19:47 +08:00

3.9 KiB
Raw Blame History

数据库合并方案

文件名数据库合并方案_20250115.md 创建于2025-01-15 创建者AI

任务描述

将CollisionAvoidanceSystem项目的空间数据表合并到QAUP-Management项目数据库中实现统一的数据库架构。

项目概述

QAUP-Management是车辆管理系统CollisionAvoidanceSystem是机场碰撞避免系统。两个项目都使用PostgreSQL数据库表结构完全互补无冲突。


以下部分由 AI 在协议执行过程中维护

分析 (由 RESEARCH 模式填充)

数据库现状分析

QAUP-Management数据库

  • 基于PostgreSQL的传统业务表
  • 表前缀sys_*
  • 核心表sys_vehicle_info车辆信息、sys_driver_info驾驶员信息、sys_vehicle_type车辆类型
  • 技术栈PostgreSQL + MyBatis

CollisionAvoidanceSystem数据库

  • 基于PostgreSQL + PostGIS的空间数据表
  • 核心表vehicle_locations车辆位置、airport_areas机场区域、spatial_rules规则引擎
  • 技术栈PostgreSQL + PostGIS + JPA

兼容性评估

完全兼容

  • 无表名冲突
  • 无数据类型冲突
  • 业务逻辑互补
  • 可通过vehicle_id字段关联

提议的解决方案 (由 INNOVATE 模式填充)

方案选择:零风险直接合并

经过分析,发现两个数据库可以无缝合并,采用最简单的直接合并方案:

核心思路:

  1. 在QAUP数据库中启用PostGIS扩展
  2. 直接导入CollisionAvoidanceSystem的所有表结构
  3. 建立业务关联关系
  4. 保持两套API服务独立运行

优势:

  • 零风险:无需修改现有表结构
  • 零冲突:表名完全不重复
  • 高效率:一次性完成所有迁移
  • 可扩展:为未来功能集成预留空间

实施计划 (由 PLAN 模式生成)

详细执行步骤

步骤1环境准备

  • 备份QAUP-Management数据库
  • 在QAUP数据库中启用PostGIS扩展

步骤2表结构迁移

  • 创建统一迁移脚本
  • 导入CollisionAvoidanceSystem的完整表结构
  • 验证表创建和索引

步骤3数据关联设计

  • 建立车辆信息关联关系
  • 创建业务视图简化查询
  • 添加必要的外键约束

步骤4测试验证

  • 验证空间查询功能
  • 测试业务关联查询
  • 确认数据完整性

实施检查清单:

  1. 备份QAUP-Management现有数据库
  2. 在QAUP数据库中启用PostGIS扩展 (CREATE EXTENSION postgis;)
  3. 创建统一的数据库迁移脚本文件
  4. 执行CollisionAvoidanceSystem表结构导入
  5. 创建车辆信息映射关系vehicle_id关联
  6. 添加业务查询视图
  7. 执行完整性测试和空间查询测试

当前执行步骤 (由 EXECUTE 模式在开始执行某步骤时更新)

已完成数据库配置更新

任务进度 (由 EXECUTE 模式在每步完成后追加)

[2025-01-15]

  • 步骤:创建统一数据库迁移脚本
  • 修改:创建文件 QAUP-Management/sql/unified_database_migration.sql
  • 更改摘要完整的数据库合并脚本包含PostGIS扩展、表结构、索引、视图、触发器和示例数据
  • 原因:执行计划步骤 [2,3]
  • 阻碍:无
  • 用户确认状态:成功

[2025-01-15]

  • 步骤:更新数据库配置为统一的"qaup"数据库
  • 修改:
    • QAUP-Management/qaup-admin/src/main/resources/application-druid.yml数据库URL更新为qaup
    • CollisionAvoidanceSystem/src/main/resources/application.yml数据库URL更新为qaup
    • CollisionAvoidanceSystem/src/test/resources/application-test.yml测试数据库URL更新为qaup
    • QAUP-Management/sql/database_merge_guide.md指南中的数据库名称更新为qaup
    • 新增QAUP-Management/sql/create_qaup_database.sql创建数据库脚本
  • 更改摘要:统一两个项目使用同一个"qaup"数据库,更新所有相关配置文件和文档
  • 原因:执行计划步骤 [4,5]
  • 阻碍:无
  • 用户确认状态:待确认

最终审查 (由 REVIEW 模式填充)

待完成