diff --git a/scripts/migrate-prod-to-dev.sh b/scripts/migrate-prod-to-dev.sh index 09871e3..4b57cc1 100755 --- a/scripts/migrate-prod-to-dev.sh +++ b/scripts/migrate-prod-to-dev.sh @@ -89,6 +89,15 @@ log "导入数据到 ${DST_DB}..." docker exec -i "$DB_CONTAINER" psql -U "$DB_USER" -d "$DST_DB" < "$TMP_SQL" 2>> "$LOG_FILE" log " 导入完成 ✅" +# ---------- 步骤 5: 重置自增序列 ---------- +log "重置自增序列..." +docker exec "$DB_CONTAINER" psql -U "$DB_USER" -d "$DST_DB" -tAc " +SELECT SETVAL('users_id_seq', COALESCE((SELECT MAX(id) FROM users), 1)); +SELECT SETVAL('weather_data_id_seq', COALESCE((SELECT MAX(id) FROM weather_data), 1)); +SELECT SETVAL('payment_orders_id_seq', COALESCE((SELECT MAX(id) FROM payment_orders), 1)); +" 2>> "$LOG_FILE" +log " 序列重置完成 ✅" + # ---------- 清理 ---------- rm -f "$TMP_SQL" @@ -110,4 +119,5 @@ echo "" echo "日志: ${LOG_FILE}" echo "备份: ${BACKUP_DIR}/${DST_DB}_pre_migration_*.dump" echo "" -echo "⚠️ 如需回滚:gunzip -c ${BACKUP_DIR}/*.dump.gz | docker exec -i ... pg_restore" +echo "⚠️ 如需回滚: + docker exec -i ${DB_CONTAINER} pg_restore -U ${DB_USER} -d ${DST_DB} --clean \n < ${BACKUP_DIR}/${DST_DB}_pre_migration_*.dump"