fresco/sqlalchemy集成
fresco-sqlalchem的Python项目详细描述
将sqlalchemy添加到应用程序中
使用fresco_sqlalchemy.SQLAlchemy将应用程序配置为与一起使用 炼金术。默认情况下,从 应用程序,并将wsgi中间件添加到应用程序中以管理sqlalchemy 会话:
from fresco import FrescoApp from fresco_sqlalchemy import SQLAlchemy # Create a new Fresco app app = FrescoApp() # Connection info is loaded from your application configuration app.options.SQLALCHEMY = { 'default': 'driver://user:password@localhost/database', } sqlalchemy = SQLAlchemy(app)
如果您愿意,可以将配置变量调用其他名称:
app.options.DATABASES = { 'default': 'driver://user:password@localhost/database', } sqlalchemy = SQLAlchemy(app, options_key='DATABASES')
或者完全跳过此步骤,直接向 构造器:
sqlalchemy = SQLAlchemy( app, databases={'default': 'driver://user:password@localhost/database',})
访问会话
您可以直接在SQLAlchemy对象上访问sqlalchemy会话:
sqlalchemy = SQLAlchemy(app) session = sqlalchemy.getsession() session.query(...)
或通过fresco.context:
from fresco import context session = context.sqlalchemy.default session.query(...)
多连接支持
您可以指定任意多个数据库连接URL:
app.options.SQLALCHEMY = { 'staging': 'driver://user:password@localhost/staging_db', 'production': 'driver://user:password@localhost/production_db', }
使用getsession:
sqlalchemy = SQLAlchemy(app) sqlalchemy.getsession('staging')
或来自fresco.context:
default_session = context.sqlalchemy.staging cms_session = context.sqlalchemy.production
发动机配置
sqlalchemy构造函数的额外参数传递给sqlalchemy的 create_engine函数。这使得可以指定选项,例如 echo=True记录由sqlalchemy生成的所有sql查询:
sqlalchemy = SQLAlchemy(app, echo=True)
0.1(发布日期:2016-06-30)
- 初始版本