Skip to content

Commit 014db0c

Browse files
committed
removing try/except logic from bulk_upsert_mappings to faciltiate better logging
1 parent 8030534 commit 014db0c

2 files changed

Lines changed: 16 additions & 32 deletions

File tree

sqlmodel_crud_utils/a_sync.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -307,24 +307,16 @@ async def bulk_upsert_mappings(
307307
):
308308
if not pk_fields:
309309
pk_fields = ["id"]
310-
try:
311-
stmnt = upsert(model).values(payload)
312-
stmnt = stmnt.on_conflict_do_update(
313-
index_elements=[getattr(model, x) for x in pk_fields],
314-
set_={k: getattr(stmnt.excluded, k) for k in payload[0].keys()},
315-
)
316-
results = await session_inst.execute(stmnt)
317-
318-
await session_inst.commit()
310+
stmnt = upsert(model).values(payload)
311+
stmnt = stmnt.on_conflict_do_update(
312+
index_elements=[getattr(model, x) for x in pk_fields],
313+
set_={k: getattr(stmnt.excluded, k) for k in payload[0].keys()},
314+
)
315+
results = await session_inst.execute(stmnt)
319316

320-
return True, results.all()
317+
await session_inst.commit()
321318

322-
except Exception as e:
323-
logger.error(
324-
f"Failed to upsert values to DB. Please see error: "
325-
f"{type(e), e, e.args}"
326-
)
327-
return False, []
319+
return True, results.all()
328320

329321

330322
@logger.catch

sqlmodel_crud_utils/sync.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -304,24 +304,16 @@ def bulk_upsert_mappings(
304304
):
305305
if not pk_fields:
306306
pk_fields = ["id"]
307-
try:
308-
stmnt = upsert(model).values(payload)
309-
stmnt = stmnt.on_conflict_do_update(
310-
index_elements=[getattr(model, x) for x in pk_fields],
311-
set_={k: getattr(stmnt.excluded, k) for k in payload[0].keys()},
312-
)
313-
results = session_inst.execute(stmnt)
314-
315-
session_inst.commit()
307+
stmnt = upsert(model).values(payload)
308+
stmnt = stmnt.on_conflict_do_update(
309+
index_elements=[getattr(model, x) for x in pk_fields],
310+
set_={k: getattr(stmnt.excluded, k) for k in payload[0].keys()},
311+
)
312+
results = session_inst.execute(stmnt)
316313

317-
return True, results.all()
314+
session_inst.commit()
318315

319-
except Exception as e:
320-
logger.error(
321-
f"Failed to upsert values to DB. Please see error: "
322-
f"{type(e), e, e.args}"
323-
)
324-
return False, []
316+
return True, results.all()
325317

326318

327319
@logger.catch

0 commit comments

Comments
 (0)