From e0d575454ea2e21c1d1b1899d3f202314f8ca09b Mon Sep 17 00:00:00 2001 From: Jackson Roberts Date: Thu, 9 Apr 2026 01:04:00 +0000 Subject: [PATCH] fix(dalpuri): sync CW Members before Users to resolve FK ordering issue User rows have a FK constraint to CwMember (User_cwMemberId_fkey). Syncing Users first caused all 140 User upserts to fail since the CwMember table was empty. This cascade failure then caused all Opportunity upserts to fail because Opportunity.primarySalesRepId is FK-constrained to User.cwIdentifier. Fix: reorder steps so CW Members syncs first, then Users. --- dalpuri/src/sync.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/dalpuri/src/sync.ts b/dalpuri/src/sync.ts index 2f9c222..441d734 100644 --- a/dalpuri/src/sync.ts +++ b/dalpuri/src/sync.ts @@ -1351,6 +1351,15 @@ export const executeFullDalpuriSync = async (options?: { const isTimedOut = () => Date.now() - syncStartTime > timeoutMs; const steps: Step[] = [ + { + name: "CW Members", + sourceModel: "member", + targetModel: "cwMember", + translation: cwMemberTranslation as unknown as AnyTranslation, + uniqueField: "cwMemberId", + sourceIdField: "memberRecId", + sourceUpdatedField: "lastUpdatedUtc", + }, { name: "Users", sourceModel: "member", @@ -1365,15 +1374,6 @@ export const executeFullDalpuriSync = async (options?: { }, }, }, - { - name: "CW Members", - sourceModel: "member", - targetModel: "cwMember", - translation: cwMemberTranslation as unknown as AnyTranslation, - uniqueField: "cwMemberId", - sourceIdField: "memberRecId", - sourceUpdatedField: "lastUpdatedUtc", - }, { name: "Companies", sourceModel: "company",