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