88cae4018a
- 移除 DROP COLUMN IF EXISTS(仅 MySQL 8.0.29+ 支持) - 使用标准 DROP COLUMN 语法(MySQL 5.7+ 兼容) - 添加 Flyway 清理脚本
60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
||
# 清理 Flyway V29 失败记录的脚本
|
||
|
||
echo "=== 清理 Flyway V29 失败记录 ==="
|
||
echo ""
|
||
echo "请确保 MySQL 正在运行,然后输入数据库密码"
|
||
echo ""
|
||
|
||
# 数据库配置
|
||
DB_HOST="localhost"
|
||
DB_PORT="3306"
|
||
DB_NAME="polymarket_bot"
|
||
DB_USER="root"
|
||
|
||
# 检查 MySQL 命令是否可用
|
||
if ! command -v mysql &> /dev/null; then
|
||
echo "❌ 错误: 未找到 mysql 命令"
|
||
echo ""
|
||
echo "请使用数据库客户端(如 Navicat、DataGrip 等)执行以下 SQL:"
|
||
echo ""
|
||
echo "-- 1. 查看 Flyway 历史记录"
|
||
echo "SELECT version, description, installed_on, success "
|
||
echo "FROM flyway_schema_history "
|
||
echo "WHERE version >= 28"
|
||
echo "ORDER BY installed_rank;"
|
||
echo ""
|
||
echo "-- 2. 删除 V29 的失败记录"
|
||
echo "DELETE FROM flyway_schema_history WHERE version = '29';"
|
||
echo ""
|
||
exit 1
|
||
fi
|
||
|
||
# 执行清理
|
||
echo "正在连接数据库..."
|
||
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USER" -p "$DB_NAME" << 'EOF'
|
||
-- 查看当前状态
|
||
SELECT '=== 当前 Flyway 历史记录 ===' as '';
|
||
SELECT version, description, installed_on, success
|
||
FROM flyway_schema_history
|
||
WHERE version >= 28
|
||
ORDER BY installed_rank;
|
||
|
||
-- 删除 V29 失败记录
|
||
SELECT '=== 删除 V29 记录 ===' as '';
|
||
DELETE FROM flyway_schema_history WHERE version = '29';
|
||
|
||
-- 确认删除结果
|
||
SELECT CONCAT('已删除 ', ROW_COUNT(), ' 条记录') as result;
|
||
|
||
-- 再次查看状态
|
||
SELECT '=== 清理后的 Flyway 历史记录 ===' as '';
|
||
SELECT version, description, installed_on, success
|
||
FROM flyway_schema_history
|
||
WHERE version >= 28
|
||
ORDER BY installed_rank;
|
||
EOF
|
||
|
||
echo ""
|
||
echo "✅ 清理完成!现在可以重启应用了"
|