Delete support
This commit is contained in:
parent
ddcdfea48f
commit
f74ef1d33c
@ -3,7 +3,7 @@ from sqlaload.schema import connect
|
||||
from sqlaload.schema import create_table, load_table, get_table, drop_table
|
||||
from sqlaload.schema import create_column
|
||||
from sqlaload.write import add_row, update_row
|
||||
from sqlaload.write import upsert, update
|
||||
from sqlaload.write import upsert, update, delete
|
||||
from sqlaload.query import distinct, resultiter, all, find_one, find
|
||||
|
||||
from sqlaload.util import dump_csv
|
||||
|
||||
@ -42,3 +42,18 @@ def update(engine, table, criteria, values, ensure=True, types={}):
|
||||
q = q.where(table.c[column]==value)
|
||||
engine.execute(q)
|
||||
|
||||
def delete(engine, table, **kw):
|
||||
_ensure_columns(engine, table, kw)
|
||||
|
||||
qargs = []
|
||||
try:
|
||||
for col, val in kw.items():
|
||||
qargs.append(table.c[col]==val)
|
||||
except KeyError:
|
||||
return
|
||||
|
||||
q = table.delete()
|
||||
for k, v in kw.items():
|
||||
q= q.where(table.c[k]==v)
|
||||
engine.execute(q)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user