summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-07-31 12:29:52 +0000
committerjoonhoekim <26rote@gmail.com>2025-07-31 12:29:52 +0000
commit494b8925db9aa442941b936ca1b9cfaefdb75f00 (patch)
tree96fa045bea197577dc680fb62905edb8046a992d /lib
parent0728ce2e0c085b8f1e8699bcdbe3d2000208bc74 (diff)
(김준회) MDG 수신 로직 개선건 오류 수정, 마이그레이션 대응 및 유틸 스크립트 경로 이동, DB connection 개수 제한
Diffstat (limited to 'lib')
-rw-r--r--lib/soap/batch-utils.ts11
-rw-r--r--lib/soap/mdg/send/vendor-master/action.ts2
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/soap/batch-utils.ts b/lib/soap/batch-utils.ts
index 785c85eb..76127fc2 100644
--- a/lib/soap/batch-utils.ts
+++ b/lib/soap/batch-utils.ts
@@ -71,10 +71,15 @@ export async function bulkReplaceSubTableData<T extends Record<string, unknown>>
parentIds: string[],
chunkSize: number = 1000,
) {
+ // FK 값이 없는 서브테이블 건은 생략
if (!parentIds.length) return;
-
- // 1. 기존 데이터 일괄 삭제
- await tx.delete(table).where(inArray(parentField, parentIds));
+
+ // 마이그레이션시는 삭제 생략
+ const skipDelete = process.env.SOAP_IGNORE_DELETE_FOR_MIGRATION === "true";
+
+ if (!skipDelete) {
+ await tx.delete(table).where(inArray(parentField, parentIds));
+ }
// 2. 새 데이터 일괄 삽입 (chunking)
if (!data.length) return;
diff --git a/lib/soap/mdg/send/vendor-master/action.ts b/lib/soap/mdg/send/vendor-master/action.ts
index 88b46508..d35d7a76 100644
--- a/lib/soap/mdg/send/vendor-master/action.ts
+++ b/lib/soap/mdg/send/vendor-master/action.ts
@@ -17,7 +17,7 @@ import {
VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN
} from "@/db/schema/MDG/mdg";
import { eq, sql, desc } from "drizzle-orm";
-import { withSoapLogging } from "../../utils";
+import { withSoapLogging } from "../../../utils";
import { XMLBuilder } from 'fast-xml-parser';
import { CSV_FIELDS } from './csv-fields';