3.9 KiB
3.9 KiB
数据库合并方案
文件名:数据库合并方案_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 模式填充)
方案选择:零风险直接合并
经过分析,发现两个数据库可以无缝合并,采用最简单的直接合并方案:
核心思路:
- 在QAUP数据库中启用PostGIS扩展
- 直接导入CollisionAvoidanceSystem的所有表结构
- 建立业务关联关系
- 保持两套API服务独立运行
优势:
- 零风险:无需修改现有表结构
- 零冲突:表名完全不重复
- 高效率:一次性完成所有迁移
- 可扩展:为未来功能集成预留空间
实施计划 (由 PLAN 模式生成)
详细执行步骤
步骤1:环境准备
- 备份QAUP-Management数据库
- 在QAUP数据库中启用PostGIS扩展
步骤2:表结构迁移
- 创建统一迁移脚本
- 导入CollisionAvoidanceSystem的完整表结构
- 验证表创建和索引
步骤3:数据关联设计
- 建立车辆信息关联关系
- 创建业务视图简化查询
- 添加必要的外键约束
步骤4:测试验证
- 验证空间查询功能
- 测试业务关联查询
- 确认数据完整性
实施检查清单:
- 备份QAUP-Management现有数据库
- 在QAUP数据库中启用PostGIS扩展 (CREATE EXTENSION postgis;)
- 创建统一的数据库迁移脚本文件
- 执行CollisionAvoidanceSystem表结构导入
- 创建车辆信息映射关系(vehicle_id关联)
- 添加业务查询视图
- 执行完整性测试和空间查询测试
当前执行步骤 (由 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 模式填充)
待完成