-
SQLALCHEMY_DATABASE_URI:
str
- 数据库连接地址:
dialect[+driver]://user:password@host/dbname[?key=value..]
- 数据库连接地址:
-
SQLALCHEMY_COMMIT_ON_TEARDOWN:
bool
- 每次请求结束后自动提交
-
SQLALCHEMY_TRACK_MODIFICATIONS:
Optional[bool] = None
- 如果设置为True,Flask-SQLAlchemy 将跟踪对象的修改并发出信号
- 建议设置为 False
-
SQLALCHEMY_POOL_SIZE:
int
- 维护的session数
-
SQLALCHEMY_MAX_OVERFLOW:
int
- 可溢出的session数
-
SQLALCHEMY_POOL_RECYCLE:
int
- 过期时间
-
SQLALCHEMY_ENGINE_OPTIONS:
Dict
- isolation_level:
str
- 事务的隔离级别,推荐RC
READ COMMITTED
- 事务的隔离级别,推荐RC
- isolation_level:
-
示例
# testProj/config/production.py
# coding: utf-8
import os
from .base import *
from libs.config import Config
CONFIG_INFO = Config(os.path.join(BASE_DIR, '.env')).format()
DB_CONFIG = CONFIG_INFO['db']
class ProConfig(BaseConfig):
DEBUG = False
# 数据库配置
SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{DB_CONFIG['user']}:{DB_CONFIG['password']}" \
f"@{DB_CONFIG['host']}:{DB_CONFIG['port']}/{DB_CONFIG['database']}" \
f"?charset={DB_CONFIG['charset']}"
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_POOL_SIZE = 20 # 10个连接
SQLALCHEMY_MAX_OVERFLOW = 5 # 可以溢出的连接数
SQLALCHEMY_POOL_RECYCLE = 60 * 60 * 2 # 2小时
SQLALCHEMY_ENGINE_OPTIONS = {
'isolation_level': 'READ COMMITTED' # RC隔离级别
}