Flask-SQLAlchemy 扩展能够识别的配置键的清单:
New in version 0.8: 增加 SQLALCHEMY_NATIVE_UNICODE
, SQLALCHEMY_POOL_SIZE
, SQLALCHEMY_POOL_TIMEOUT
和 SQLALCHEMY_POOL_RECYCLE
配置键。
New in version 0.12: 增加 SQLALCHEMY_BINDS
配置键。
New in version 0.17: 增加 SQLALCHEMY_MAX_OVERFLOW
配置键。
完整连接 URI 格式列表请跳转到 SQLAlchemy 下面的文档()。这里展示了一些常见的连接字符串。
SQLAlchemy 把一个引擎的源表示为一个连同设定引擎选项的可选字符串参数的 URI。URI 的形式是:
该字符串中的许多部分是可选的。如果没有指定驱动器,会选择默认的(确保在这种情况下 不 包含 +
)。
Postgres:
postgresql://scott:[email protected]/mydatabase
Oracle:
oracle://scott:[email protected]:1521/sidname
SQLite (注意开头的四个斜线):
你可以使用一个自定义的 MetaData
对象来构造 SQLAlchemy
对象。这允许你指定一个 。这样做对数据库的迁移是很重要的。因为 SQL 没有定义一个标准的命名约定,无法保证数据库之间实现是兼容的。你可以自定义命名约定像 SQLAlchemy 文档建议那样:
from flask.ext.sqlalchemy import SQLAlchemy
convention = {
"ix": 'ix_%(column_0_label)s',
"ck": "ck_%(table_name)s_%(constraint_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"pk": "pk_%(table_name)s"
}
db = SQLAlchemy(app, metadata=metadata)
更多关于 MetaData
的信息,。