diff --git a/scripts/deploy.sh b/scripts/deploy.sh index fab8581..6a6b328 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -800,11 +800,16 @@ print(json.dumps(resp['data'])) ok "租户数据已从公有平台导出" printf ' 正在导入租户数据到私有部署 ...\n' - _IMPORT_RESP=$(printf '%s' "$_EXPORT_DATA" | curl -sf --max-time 30 -X POST \ + _IMPORT_RESP=$(printf '%s' "$_EXPORT_DATA" | curl -s --max-time 30 -X POST \ -H "Content-Type: application/json" \ --data-binary @- \ - "http://127.0.0.1/api/private/migrate/import") \ - || fail "导入失败:私有平台 import API 返回错误" + -w "\n__HTTP_STATUS__:%{http_code}" \ + "http://127.0.0.1/api/private/deployment/migrate/import") + _IMPORT_STATUS=$(printf '%s' "$_IMPORT_RESP" | grep -o '__HTTP_STATUS__:[0-9]*' | cut -d: -f2) + _IMPORT_BODY=$(printf '%s' "$_IMPORT_RESP" | sed 's/__HTTP_STATUS__:[0-9]*//') + if [ "${_IMPORT_STATUS}" != "200" ]; then + fail "导入失败(HTTP ${_IMPORT_STATUS}): $(printf '%s' "$_IMPORT_BODY" | python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('message','unknown'))" 2>/dev/null || printf '%s' "$_IMPORT_BODY")" + fi # 从导出数据中提取租户信息用于最终汇总 _TENANT_INFO=$(printf '%s' "$_EXPORT_DATA" | python3 -c "