Support table dropping and sqlalchemy Connection objects
This commit is contained in:
parent
36507c35f8
commit
b62ddfb7ef
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
from sqlaload.schema import connect
|
from sqlaload.schema import connect
|
||||||
from sqlaload.schema import create_table, load_table, get_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
|
||||||
|
|||||||
@ -40,6 +40,10 @@ def load_table(engine, table_name):
|
|||||||
return table
|
return table
|
||||||
|
|
||||||
def get_table(engine, table_name):
|
def get_table(engine, table_name):
|
||||||
|
# Accept Connection objects here
|
||||||
|
if hasattr(engine, 'engine'):
|
||||||
|
engine = engine.engine
|
||||||
|
|
||||||
if table_name in TABLES[engine]:
|
if table_name in TABLES[engine]:
|
||||||
return TABLES[engine][table_name]
|
return TABLES[engine][table_name]
|
||||||
if engine.has_table(table_name):
|
if engine.has_table(table_name):
|
||||||
@ -47,6 +51,19 @@ def get_table(engine, table_name):
|
|||||||
else:
|
else:
|
||||||
return create_table(engine, table_name)
|
return create_table(engine, table_name)
|
||||||
|
|
||||||
|
def drop_table(engine, table_name):
|
||||||
|
# Accept Connection objects here
|
||||||
|
if hasattr(engine, 'engine'):
|
||||||
|
engine = engine.engine
|
||||||
|
if table_name in TABLES[engine]:
|
||||||
|
table = TABLES[engine][table_name]
|
||||||
|
elif engine.has_table(table_name):
|
||||||
|
table = Table(table_name, engine._metadata)
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
table.drop(engine)
|
||||||
|
TABLES[engine].pop(table_name, None)
|
||||||
|
|
||||||
def _guess_type(sample):
|
def _guess_type(sample):
|
||||||
if isinstance(sample, bool):
|
if isinstance(sample, bool):
|
||||||
return Boolean
|
return Boolean
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user