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_table, load_table, get_table, drop_table
|
||||||
from sqlaload.schema import create_column
|
from sqlaload.schema import create_column
|
||||||
from sqlaload.write import add_row, update_row
|
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.query import distinct, resultiter, all, find_one, find
|
||||||
|
|
||||||
from sqlaload.util import dump_csv
|
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)
|
q = q.where(table.c[column]==value)
|
||||||
engine.execute(q)
|
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