From 282b4f1c544a49d153513d2615f93bae43d5aa17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=8D=E7=BC=96=E8=AF=91=E5=B7=A5=E4=BD=9C=E5=8C=BA?= Date: Fri, 1 May 2026 22:31:05 +0800 Subject: [PATCH] fix: use multi-line sed range to strip GTID_PURGED statements from SQL dumps Former-commit-id: a9ab3ad575a151fa423fc3ea4f9568c512db124c --- scripts/test-env/prepare-db.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/test-env/prepare-db.sh b/scripts/test-env/prepare-db.sh index 3dcf6b47..b3ed1333 100755 --- a/scripts/test-env/prepare-db.sh +++ b/scripts/test-env/prepare-db.sh @@ -42,8 +42,8 @@ for db_name in "${!DB_MAP[@]}"; do # Create DB if not exists $MYSQL_CMD -e "CREATE DATABASE IF NOT EXISTS \`$db_name\` DEFAULT CHARACTER SET utf8mb4;" - # Import (strip GTID_PURGED to avoid error 1840 on non-empty GTID_EXECUTED) - zcat "$backup_path" | sed '/GTID_PURGED/d' | $MYSQL_CMD "$db_name" 2>&1 | tail -1 + # Import (strip multi-line GTID_PURGED to avoid MySQL error 1840) + zcat "$backup_path" | sed '/SET @@GLOBAL.GTID_PURGED=/,/;/d' | $MYSQL_CMD "$db_name" 2>&1 | tail -1 if [[ ${PIPESTATUS[0]} -eq 0 ]]; then log_ok " $db_name restored successfully" @@ -55,7 +55,7 @@ done # Elevator app also needs second backup (34_*.sql.gz) if [[ -f "$DATA_BACKUP/34_2026_04_23_17_28_33.sql.gz" ]]; then log_info "Restoring elevator DB partition 34..." - zcat "$DATA_BACKUP/34_2026_04_23_17_28_33.sql.gz" | sed '/GTID_PURGED/d' | $MYSQL_CMD "$DB_ELEVATOR" + zcat "$DATA_BACKUP/34_2026_04_23_17_28_33.sql.gz" | sed '/SET @@GLOBAL.GTID_PURGED=/,/;/d' | $MYSQL_CMD "$DB_ELEVATOR" log_ok " $DB_ELEVATOR partition 34 restored" fi