QAUP_Management/doc/work/数据库合并方案_20250115.md

113 lines
3.9 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.

# 数据库合并方案
文件名数据库合并方案_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 模式填充)
*待完成*