-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.py
More file actions
19 lines (15 loc) · 824 Bytes
/
database.py
File metadata and controls
19 lines (15 loc) · 824 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import sqlalchemy
from sqlalchemy import orm
from sqlalchemy.ext import declarative
engine = sqlalchemy.create_engine('postgresql+psycopg2://testuser:password@localhost:5432/test',echo=True,convert_unicode=True)
#engine = sqlalchemy.create_engine('sqlite:///data/sqlite/temp.db',echo=True,convert_unicode=True)
#engine = sqlalchemy.create_engine('sqlite:///:memory:',echo=True,convert_unicode=True)
#should only be called once globally or at module level
db_session = sqlalchemy.orm.scoped_session(sqlalchemy.orm.sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
Base = sqlalchemy.ext.declarative.declarative_base()
Base.query = db_session.query_property()
def init_db():
import models
Base.metadata.create_all(bind=engine)