From a14ad5eefd572437f6a2b493996f5843159bd797 Mon Sep 17 00:00:00 2001 From: hyeonsu Date: Fri, 19 Sep 2025 11:27:16 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=84=EB=93=9C=20=EC=97=B0=EA=B2=B0=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=AA=A8=EB=8B=AC=20=EB=A7=A4=ED=95=91=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataflow/ConnectionSetupModal.tsx | 21 ++----------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/frontend/components/dataflow/ConnectionSetupModal.tsx b/frontend/components/dataflow/ConnectionSetupModal.tsx index 781d7c33..b5d5e89c 100644 --- a/frontend/components/dataflow/ConnectionSetupModal.tsx +++ b/frontend/components/dataflow/ConnectionSetupModal.tsx @@ -556,26 +556,9 @@ export const ConnectionSetupModal: React.FC = ({ return true; // DELETE는 필드 매핑 검증 생략 } - // INSERT 액션의 경우 모든 TO 테이블 컬럼이 매핑되거나 기본값이 있어야 함 + // INSERT 액션의 경우 최소 하나의 매핑이 있으면 됨 (모든 컬럼 매핑 필수 조건 제거) if (action.actionType === "insert") { - // TO 테이블의 모든 컬럼을 찾기 - const toTableName = action.fieldMappings[0]?.targetTable; - if (!toTableName) return false; - - const toTableColumns = tableColumnsCache[toTableName] || []; - if (toTableColumns.length === 0) return false; - - // 모든 TO 컬럼이 매핑되거나 기본값이 있는지 확인 - return toTableColumns.every((column) => { - const mapping = action.fieldMappings.find((m) => m.targetField === column.columnName); - if (!mapping) return false; - - // 소스 매핑 또는 기본값 중 하나는 있어야 함 - const hasSource = mapping.sourceTable && mapping.sourceField; - const hasDefault = mapping.defaultValue && mapping.defaultValue.trim(); - - return hasSource || hasDefault; - }); + return true; // 필드 매핑이 있으면 충분함 } return action.fieldMappings.every((mapping) => {