-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdb.py
More file actions
25 lines (22 loc) · 727 Bytes
/
db.py
File metadata and controls
25 lines (22 loc) · 727 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
from settings import DB_USERNAME, DB_PASSWORD, DB_HOST, DB_DATABASE
Base = declarative_base()
engine = create_engine(
"mysql://{DB_USERNAME}:{DB_PASSWORD}@{DB_HOST}/{DB_DATABASE}?charset=utf8".format(
DB_USERNAME=DB_USERNAME,
DB_PASSWORD=DB_PASSWORD,
DB_HOST=DB_HOST,
DB_DATABASE=DB_DATABASE,
),
echo=True,
pool_size=100,
pool_recycle=5,
pool_timeout=60,
pool_pre_ping=True,
max_overflow=0,
)
DBSession = sessionmaker(bind=engine, autocommit=True)
DBSession = scoped_session(DBSession)
db_session = DBSession()