Hi! As I understand, when connecting to a database we could set ensure_schema=False to avoid table and column creation. However, it seems this flag is ignored when accessing tables. For example, I believe it makes sense that when the flag is set to False, loading a non-existing table should raise an exception. However, it creates the table with a single id column:
import dataset
db = dataset.connect('<connection>', ensure_schema=False)
db['non_existing_table'] # creates the table, ignoring ensure_schema
This happens because get_table(...) (the method [] uses under the hood) directly calls create_table(...)without checking the flag
Hi! As I understand, when connecting to a database we could set
ensure_schema=False
to avoid table and column creation. However, it seems this flag is ignored when accessing tables. For example, I believe it makes sense that when the flag is set toFalse
, loading a non-existing table should raise an exception. However, it creates the table with a singleid
column:This happens because
get_table(...)
(the method [] uses under the hood) directly callscreate_table(...)
without checking the flag