Flask-SQLAlchemy 扩展能够识别的配置键的清单:

    New in version 0.8: 增加 SQLALCHEMY_NATIVE_UNICODE, SQLALCHEMY_POOL_SIZE, SQLALCHEMY_POOL_TIMEOUTSQLALCHEMY_POOL_RECYCLE 配置键。

    New in version 0.12: 增加 SQLALCHEMY_BINDS 配置键。

    New in version 0.17: 增加 SQLALCHEMY_MAX_OVERFLOW 配置键。

    完整连接 URI 格式列表请跳转到 SQLAlchemy 下面的文档()。这里展示了一些常见的连接字符串。

    SQLAlchemy 把一个引擎的源表示为一个连同设定引擎选项的可选字符串参数的 URI。URI 的形式是:

    该字符串中的许多部分是可选的。如果没有指定驱动器,会选择默认的(确保在这种情况下 包含 + )。

    Postgres:

    1. postgresql://scott:[email protected]/mydatabase

    Oracle:

    1. oracle://scott:[email protected]:1521/sidname

    SQLite (注意开头的四个斜线):

    你可以使用一个自定义的 MetaData 对象来构造 SQLAlchemy 对象。这允许你指定一个 。这样做对数据库的迁移是很重要的。因为 SQL 没有定义一个标准的命名约定,无法保证数据库之间实现是兼容的。你可以自定义命名约定像 SQLAlchemy 文档建议那样:

    1. from flask.ext.sqlalchemy import SQLAlchemy
    2. convention = {
    3. "ix": 'ix_%(column_0_label)s',
    4. "ck": "ck_%(table_name)s_%(constraint_name)s",
    5. "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
    6. "pk": "pk_%(table_name)s"
    7. }
    8. db = SQLAlchemy(app, metadata=metadata)

    更多关于 MetaData 的信息,。