mirror of
https://github.com/veekun/pokedex.git
synced 2024-08-20 18:16:34 +00:00
Allow passing engine arguments to connect().
This commit is contained in:
parent
419f65c90c
commit
a89a616203
1 changed files with 5 additions and 5 deletions
|
@ -4,7 +4,7 @@ from sqlalchemy import MetaData, Table, create_engine, orm
|
||||||
|
|
||||||
from .tables import metadata
|
from .tables import metadata
|
||||||
|
|
||||||
def connect(uri=None, **kwargs):
|
def connect(uri=None, session_args={}, engine_args={}):
|
||||||
"""Connects to the requested URI. Returns a session object.
|
"""Connects to the requested URI. Returns a session object.
|
||||||
|
|
||||||
With the URI omitted, attempts to connect to a default SQLite database
|
With the URI omitted, attempts to connect to a default SQLite database
|
||||||
|
@ -33,13 +33,13 @@ def connect(uri=None, **kwargs):
|
||||||
table.kwargs['mysql_charset'] = 'utf8'
|
table.kwargs['mysql_charset'] = 'utf8'
|
||||||
|
|
||||||
### Connect
|
### Connect
|
||||||
engine = create_engine(uri)
|
engine = create_engine(uri, **engine_args)
|
||||||
conn = engine.connect()
|
conn = engine.connect()
|
||||||
metadata.bind = engine
|
metadata.bind = engine
|
||||||
|
|
||||||
session_args = dict(autoflush=True, autocommit=False, bind=engine)
|
all_session_args = dict(autoflush=True, autocommit=False, bind=engine)
|
||||||
session_args.update(kwargs)
|
all_session_args.update(session_args)
|
||||||
sm = orm.sessionmaker(**session_args)
|
sm = orm.sessionmaker(**all_session_args)
|
||||||
session = orm.scoped_session(sm)
|
session = orm.scoped_session(sm)
|
||||||
|
|
||||||
return session
|
return session
|
||||||
|
|
Loading…
Reference in a new issue