From 7641184388e5d038660162a11c7b2f18b1b0821b Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Thu, 20 Nov 2025 18:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A3=80=E6=9F=A5=20flyway?= =?UTF-8?q?=20=E5=90=8C=E6=AD=A5=E7=8A=B6=E6=80=81=E7=9A=84=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/check-flyway-info.sh | 41 ++++++++++++++++++++++++++++ scripts/check-flyway.sh | 53 ++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100755 scripts/check-flyway-info.sh create mode 100755 scripts/check-flyway.sh diff --git a/scripts/check-flyway-info.sh b/scripts/check-flyway-info.sh new file mode 100755 index 00000000..f859325e --- /dev/null +++ b/scripts/check-flyway-info.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# ============================================================ +# Flyway 迁移详细信息查看脚本 +# 显示迁移历史、当前状态等详细信息 +# ============================================================ + +echo "📊 Flyway 数据库迁移详细信息" +echo "==========================================" + +# 切换到项目根目录 +cd "$(dirname "$0")/.." +cd qaup-admin + +# 显示Flyway Info详细信息 +echo "🔍 迁移历史和状态:" +mvn flyway:info \ + -Dspring.profiles.active=dev \ + -Dflyway.url=jdbc:postgresql://10.0.0.58:5432/qaup \ + -Dflyway.user=qaup \ + -Dflyway.password=qaup123 \ + -q + +echo "" +echo "==========================================" +echo "📋 常用 Flyway 命令参考:" +echo "" +echo "1. 查看迁移状态:" +echo " ./check-flyway-info.sh" +echo "" +echo "2. 验证迁移脚本:" +echo " ./check-flyway.sh" +echo "" +echo "3. 执行迁移 (谨慎使用):" +echo " mvn flyway:migrate -Dspring.profiles.active=dev -Dflyway.url=jdbc:postgresql://10.0.0.58:5432/qaup -Dflyway.user=qaup -Dflyway.password=qaup123" +echo "" +echo "4. 修复迁移记录 (谨慎使用):" +echo " mvn flyway:repair -Dspring.profiles.active=dev -Dflyway.url=jdbc:postgresql://10.0.0.58:5432/qaup -Dflyway.user=qaup -Dflyway.password=qaup123" +echo "" +echo "5. 基线迁移 (谨慎使用):" +echo " mvn flyway:baseline -Dspring.profiles.active=dev -Dflyway.url=jdbc:postgresql://10.0.0.58:5432/qaup -Dflyway.user=qaup -Dflyway.password=qaup123" \ No newline at end of file diff --git a/scripts/check-flyway.sh b/scripts/check-flyway.sh new file mode 100755 index 00000000..8af3526f --- /dev/null +++ b/scripts/check-flyway.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# ============================================================ +# Flyway 数据库迁移状态检查脚本 +# 用于验证数据库结构与迁移脚本的一致性 +# ============================================================ + +echo "🔍 正在检查 Flyway 数据库迁移状态..." +echo "📊 数据库连接信息:" +echo " 主机: 10.0.0.58" +echo " 端口: 5432" +echo " 数据库: qaup" +echo " 用户: qaup" +echo "" + +# 切换到项目根目录 +cd "$(dirname "$0")/.." +cd qaup-admin + +# 执行Flyway验证命令 +echo "🚀 正在执行 Flyway 验证..." +mvn flyway:validate \ + -Dspring.profiles.active=dev \ + -Dflyway.url=jdbc:postgresql://10.0.0.58:5432/qaup \ + -Dflyway.user=qaup \ + -Dflyway.password=qaup123 \ + -q + +# 检查执行结果 +if [ $? -eq 0 ]; then + echo "" + echo "✅ Flyway 验证成功!" + echo "📝 建议:" + echo " - 数据库结构与迁移脚本一致" + echo " - 没有发现 schema drift" + echo " - 可以安全进行部署" + echo "" + echo "🔍 详细信息请查看上方输出" +else + echo "" + echo "❌ Flyway 验证失败!" + echo "🔧 建议:" + echo " - 检查数据库连接" + echo " - 验证迁移脚本是否被修改" + echo " - 查看详细错误信息" + echo " - 联系开发团队进行修复" + echo "" +fi + +echo "" +echo "📋 其他有用的Flyway命令:" +echo " 查看迁移状态: ./check-flyway-info.sh" +echo " 执行迁移: mvn flyway:migrate -Dspring.profiles.active=dev -Dflyway.url=jdbc:postgresql://10.0.0.58:5432/qaup -Dflyway.user=qaup -Dflyway.password=qaup123" \ No newline at end of file