From 8adb94a9a4d3aeb6e01a1fa4b5c7ccdf4521a3f3 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Sun, 24 May 2026 13:41:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E4=BF=AE=E5=A4=8D=E5=A4=9A=20sh?= =?UTF-8?q?op=20seed=20=E4=BA=92=E7=9B=B8=20TRUNCATE=20=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20+=20=E8=A1=A5=20utf8mb4=20charset?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/reset-db.yml | 16 ++++++++++++---- .gitea/workflows/seed.yml | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/reset-db.yml b/.gitea/workflows/reset-db.yml index 8ecbc10..590370d 100644 --- a/.gitea/workflows/reset-db.yml +++ b/.gitea/workflows/reset-db.yml @@ -46,7 +46,8 @@ jobs: done echo "✓ Health check passed" - # 4. 写入 seed 数据 + # 4. 写入 seed 数据(第一个 shop 全量,后续跳过 TRUNCATE 行避免互相清空) + FIRST=true for SHOP in $(echo "$SHOPS" | tr ',' ' '); do FILE="backend/seeds/${SHOP}.sql" if [ ! -f "$FILE" ]; then @@ -54,9 +55,16 @@ jobs: continue fi echo "→ Seeding $SHOP ..." - ssh -i ~/.ssh/ec2_deploy.pem ${EC2_USER}@${EC2_HOST} \ - "docker exec -i jiu_mysql mysql -uroot -p${DB_PASSWORD} jiu_db" \ - < "$FILE" + if [ "$FIRST" = "true" ]; then + ssh -i ~/.ssh/ec2_deploy.pem ${EC2_USER}@${EC2_HOST} \ + "docker exec -i jiu_mysql mysql -uroot -p${DB_PASSWORD} --default-character-set=utf8mb4 jiu_db" \ + < "$FILE" + FIRST=false + else + grep -v "^TRUNCATE" "$FILE" | \ + ssh -i ~/.ssh/ec2_deploy.pem ${EC2_USER}@${EC2_HOST} \ + "docker exec -i jiu_mysql mysql -uroot -p${DB_PASSWORD} --default-character-set=utf8mb4 jiu_db" + fi echo "✓ $SHOP done" done diff --git a/.gitea/workflows/seed.yml b/.gitea/workflows/seed.yml index 337da5e..41ec16b 100644 --- a/.gitea/workflows/seed.yml +++ b/.gitea/workflows/seed.yml @@ -36,7 +36,7 @@ jobs: fi echo "→ Seeding $SHOP ..." ssh -i ~/.ssh/ec2_deploy.pem ${EC2_USER}@${EC2_HOST} \ - "docker exec -i jiu_mysql mysql -uroot -p${DB_PASSWORD} jiu_db" \ + "docker exec -i jiu_mysql mysql -uroot -p${DB_PASSWORD} --default-character-set=utf8mb4 jiu_db" \ < "$FILE" echo "✓ $SHOP done" done