Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-04-19 17:39:50 +00:00
co-authored by renee-png
parent 750b41e8cd
commit b552ab33b4
+28 -9
View File
@@ -1096,15 +1096,34 @@ function ImportPage() {
}
}
if (withoutConflict.length > 0) {
const { data, error } = await supabase
.from(cfg.table as any)
.insert(withoutConflict as any)
.select("*");
if (error) {
errors.push(`Batch ${i / chunkSize + 1} (insert): ${error.message}`);
} else if (data) {
inserted += data.length;
inserted_rows.push(...data);
// For cases without external_id, upsert on case_number to avoid duplicate-key errors on re-import
if (cfg.table === "cases") {
const withCaseNum = withoutConflict.filter((r) => r.case_number);
const noCaseNum = withoutConflict.filter((r) => !r.case_number);
if (withCaseNum.length > 0) {
const { data, error } = await supabase
.from("cases" as any)
.upsert(withCaseNum as any, { onConflict: "case_number", ignoreDuplicates: false })
.select("*");
if (error) errors.push(`Batch ${i / chunkSize + 1} (upsert case_number): ${error.message}`);
else if (data) { inserted += data.length; inserted_rows.push(...(data as Row[])); }
}
if (noCaseNum.length > 0) {
const { data, error } = await supabase.from("cases" as any).insert(noCaseNum as any).select("*");
if (error) errors.push(`Batch ${i / chunkSize + 1} (insert): ${error.message}`);
else if (data) { inserted += data.length; inserted_rows.push(...(data as Row[])); }
}
} else {
const { data, error } = await supabase
.from(cfg.table as any)
.insert(withoutConflict as any)
.select("*");
if (error) {
errors.push(`Batch ${i / chunkSize + 1} (insert): ${error.message}`);
} else if (data) {
inserted += data.length;
inserted_rows.push(...data);
}
}
}
}