Don't use autocommit
This commit is contained in:
parent
c31cb67118
commit
eaa47ff335
@ -9,9 +9,7 @@ from typing import Any, Dict, List, Optional
|
|||||||
from sqlalchemy import (Boolean, Column, DateTime, Float, ForeignKey, Integer, String,
|
from sqlalchemy import (Boolean, Column, DateTime, Float, ForeignKey, Integer, String,
|
||||||
create_engine, desc, func, inspect)
|
create_engine, desc, func, inspect)
|
||||||
from sqlalchemy.exc import NoSuchModuleError
|
from sqlalchemy.exc import NoSuchModuleError
|
||||||
from sqlalchemy.orm import Query, declarative_base, relationship
|
from sqlalchemy.orm import Query, declarative_base, relationship, scoped_session, sessionmaker
|
||||||
from sqlalchemy.orm.scoping import scoped_session
|
|
||||||
from sqlalchemy.orm.session import sessionmaker
|
|
||||||
from sqlalchemy.pool import StaticPool
|
from sqlalchemy.pool import StaticPool
|
||||||
from sqlalchemy.sql.schema import UniqueConstraint
|
from sqlalchemy.sql.schema import UniqueConstraint
|
||||||
|
|
||||||
@ -49,7 +47,7 @@ def init_db(db_url: str, clean_open_orders: bool = False) -> None:
|
|||||||
})
|
})
|
||||||
|
|
||||||
try:
|
try:
|
||||||
engine = create_engine(db_url, **kwargs)
|
engine = create_engine(db_url, future=True, **kwargs)
|
||||||
except NoSuchModuleError:
|
except NoSuchModuleError:
|
||||||
raise OperationalException(f"Given value for db_url: '{db_url}' "
|
raise OperationalException(f"Given value for db_url: '{db_url}' "
|
||||||
f"is no valid database URL! (See {_SQL_DOCS_URL})")
|
f"is no valid database URL! (See {_SQL_DOCS_URL})")
|
||||||
@ -57,7 +55,7 @@ def init_db(db_url: str, clean_open_orders: bool = False) -> None:
|
|||||||
# https://docs.sqlalchemy.org/en/13/orm/contextual.html#thread-local-scope
|
# https://docs.sqlalchemy.org/en/13/orm/contextual.html#thread-local-scope
|
||||||
# Scoped sessions proxy requests to the appropriate thread-local session.
|
# Scoped sessions proxy requests to the appropriate thread-local session.
|
||||||
# We should use the scoped_session object - not a seperately initialized version
|
# We should use the scoped_session object - not a seperately initialized version
|
||||||
Trade._session = scoped_session(sessionmaker(bind=engine, autoflush=True, autocommit=True))
|
Trade._session = scoped_session(sessionmaker(bind=engine, autoflush=True))
|
||||||
Trade.query = Trade._session.query_property()
|
Trade.query = Trade._session.query_property()
|
||||||
Order.query = Trade._session.query_property()
|
Order.query = Trade._session.query_property()
|
||||||
PairLock.query = Trade._session.query_property()
|
PairLock.query = Trade._session.query_property()
|
||||||
|
Loading…
Reference in New Issue
Block a user