fix: 迁移脚本添加自增序列重置+改进回滚说明
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user