Changes
Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
co-authored by
renee-png
parent
750b41e8cd
commit
b552ab33b4
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user