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