Skip to content

Instantly share code, notes, and snippets.

@JHibbard
Created September 18, 2020 02:33
Show Gist options
  • Save JHibbard/34621b6fad42894426e215c8aebd5a0a to your computer and use it in GitHub Desktop.
Save JHibbard/34621b6fad42894426e215c8aebd5a0a to your computer and use it in GitHub Desktop.
SQLAlchemy Thread-local Session Factory
# External Libraries
from sqlalchemy import Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True, nullable=False, autoincrement='auto')
def init_db(uri):
engine = create_engine(uri, convert_unicode=True, echo=False)
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
Base.query = db_session.query_property()
Base.metadata.create_all(bind=engine)
return db_session
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment