Pass in create_engine kwargs through database constructor
This commit is contained in:
parent
6deba5937e
commit
3fd1c1185a
@ -27,10 +27,14 @@ log = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class Database(object):
|
class Database(object):
|
||||||
|
|
||||||
def __init__(self, url, schema=None, reflectMetadata=True):
|
def __init__(self, url, schema=None, reflectMetadata=True,
|
||||||
kw = {}
|
engine_kwargs=None):
|
||||||
|
if engine_kwargs is None:
|
||||||
|
engine_kwargs = {}
|
||||||
|
|
||||||
if url.startswith('postgres'):
|
if url.startswith('postgres'):
|
||||||
kw['poolclass'] = NullPool
|
engine_kwargs.setdefault('poolclass', NullPool)
|
||||||
|
|
||||||
self.lock = threading.RLock()
|
self.lock = threading.RLock()
|
||||||
self.local = threading.local()
|
self.local = threading.local()
|
||||||
if '?' in url:
|
if '?' in url:
|
||||||
@ -44,7 +48,7 @@ class Database(object):
|
|||||||
if len(query):
|
if len(query):
|
||||||
url = url + '?' + urlencode(query, doseq=True)
|
url = url + '?' + urlencode(query, doseq=True)
|
||||||
self.schema = schema
|
self.schema = schema
|
||||||
self.engine = create_engine(url, **kw)
|
self.engine = create_engine(url, **engine_kwargs)
|
||||||
self.url = url
|
self.url = url
|
||||||
self.metadata = MetaData(schema=schema)
|
self.metadata = MetaData(schema=schema)
|
||||||
self.metadata.bind = self.engine
|
self.metadata.bind = self.engine
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user