73 lines
2.6 KiB
Markdown
73 lines
2.6 KiB
Markdown
# Implementation Plan
|
|
|
|
- [x] 1. 添加Flyway依赖和基础配置
|
|
- 在根pom.xml中添加Flyway相关依赖
|
|
- 在qaup-admin模块的application.yml中配置Flyway参数
|
|
- 创建db/migration目录结构
|
|
- _Requirements: 1.1, 1.2_
|
|
|
|
- [x] 2. 从生产数据库导出基线结构
|
|
- 使用pg_dump导出生产数据库的完整表结构
|
|
- 导出基础配置数据和字典数据
|
|
- 清理导出脚本中的环境特定信息
|
|
- 验证导出脚本的完整性和可执行性
|
|
- _Requirements: 2.1, 2.2, 2.3_
|
|
|
|
- [x] 3. 生成Flyway基线迁移脚本
|
|
- 将导出的数据库结构整理为V1.0.0__Initial_baseline.sql
|
|
- 添加必要的PostGIS扩展和空间索引
|
|
- 包含系统必需的初始数据和配置
|
|
- 验证基线脚本在全新数据库中的执行效果
|
|
- _Requirements: 2.1, 2.2, 2.3, 2.4_
|
|
|
|
- [x] 4. 创建增量迁移脚本
|
|
- 将现有的增量SQL文件转换为Flyway格式
|
|
- 创建V1.0.1__Add_traffic_light_tables.sql等增量脚本
|
|
- 确保所有脚本遵循Flyway命名规范
|
|
- 添加必要的数据验证和错误处理
|
|
- _Requirements: 2.4, 4.1, 4.2_
|
|
|
|
- [x] 5. 集成Flyway到Spring Boot应用
|
|
- 配置Flyway在应用启动时自动执行
|
|
- 实现FlywayMigrationHandler处理迁移事件
|
|
- 添加迁移状态监控和日志记录
|
|
- 创建迁移失败的告警机制
|
|
- _Requirements: 1.1, 1.3, 5.1, 5.2_
|
|
|
|
- [x] 6. 修改Docker部署配置
|
|
- 更新docker-compose.yml支持Flyway迁移
|
|
- 修改应用启动脚本等待数据库就绪
|
|
- 移除现有的init.sql初始化方式
|
|
- 确保容器启动时自动执行数据库迁移
|
|
- _Requirements: 3.1, 3.4_
|
|
|
|
- [x] 7. 更新部署脚本和流程
|
|
- 修改deploy.sh脚本集成Flyway迁移检查
|
|
- 更新BUILD-GUIDE.md文档说明新的部署流程
|
|
- 创建数据库迁移状态检查工具
|
|
- 实现迁移失败时的回滚机制
|
|
- _Requirements: 3.1, 3.2, 3.3_
|
|
|
|
- [x] 8. 简单测试验证迁移功能
|
|
- 在本地环境测试基线迁移脚本执行
|
|
- 验证迁移后数据库结构的完整性
|
|
- 测试应用启动时的自动迁移流程
|
|
- _Requirements: 1.4, 2.3, 3.3_
|
|
|
|
- [x] 9. 创建开发规范和文档
|
|
- 编写数据库迁移开发规范文档
|
|
- 创建迁移脚本模板和示例
|
|
- 制定版本号管理流程
|
|
- _Requirements: 4.1, 4.2, 4.3, 4.4_
|
|
|
|
- [x] 10. 配置生产环境安全措施
|
|
- 配置生产环境禁用Flyway clean操作
|
|
- 添加迁移前的数据库备份机制
|
|
- 设置迁移失败时的告警通知
|
|
- _Requirements: 5.4, 3.3_
|
|
|
|
- [x] 11. 最终验证和部署
|
|
- 在测试环境验证完整的迁移流程
|
|
- 更新部署文档和操作手册
|
|
- 进行生产环境迁移演练
|
|
- _Requirements: 1.3, 1.4, 3.1, 3.2_ |