fix: 迁移脚本添加自增序列重置+改进回滚说明

This commit is contained in:
2026-05-30 09:21:11 +08:00
parent 414d35c19b
commit 0d7ba874ad

View File

@@ -89,6 +89,15 @@ log "导入数据到 ${DST_DB}..."
docker exec -i "$DB_CONTAINER" psql -U "$DB_USER" -d "$DST_DB" < "$TMP_SQL" 2>> "$LOG_FILE" docker exec -i "$DB_CONTAINER" psql -U "$DB_USER" -d "$DST_DB" < "$TMP_SQL" 2>> "$LOG_FILE"
log " 导入完成 ✅" 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" rm -f "$TMP_SQL"
@@ -110,4 +119,5 @@ echo ""
echo "日志: ${LOG_FILE}" echo "日志: ${LOG_FILE}"
echo "备份: ${BACKUP_DIR}/${DST_DB}_pre_migration_*.dump" echo "备份: ${BACKUP_DIR}/${DST_DB}_pre_migration_*.dump"
echo "" 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"