跳转到主要内容

Pyramid的SQLAlchemy集成

项目描述

https://travis-ci.org/wichert/pyramid_sqlalchemy.svg?branch=master

pyramid_sqlalchemy 提供了一些基本的粘合剂,以方便在 SQLAlchemyPyramid 之间进行使用。

SQLAlchemy依赖于全局状态来进行一些事情

  • A MetaData 实例,该实例跟踪所有已知的SQL表。

  • 用于ORM的所有模型的基类。

  • 会话工厂。

每个使用SQLAlchemy的应用程序都必须提供自己的这些实例。这使得创建同时使用SQLAlchemy的附加包变得困难,因为它们要么需要自己的SQLAlchemy状态,这使得它们难以集成到您的应用程序中,要么需要跳过多个复杂的步骤来允许它们与您的应用程序共享状态。

pyramid_sqlalchemy通过提供一个全局SQLAlchemy状态的规范位置来帮助。此外,它还提供了一个方便的方式来在Pyramid应用程序中配置SQLAlchemy。

from pyramid.config import Configurator
from pyramid_sqlalchemy import BaseObject

class MyModel(BaseObject):
    __tablename__ = 'my_model'
    ...

def main():
    config = Configurator()
    # Configure SQLAlchemy using settings from the .ini file
    config.include('pyramid_sqlalchemy')
    ...
    return config.make_wsgi_app()

变更日志

1.6 - 2016年1月4日

  • 更新 transaction pytest fixture,以便不完全模拟 transation.get(),而只模拟 commit() 事务方法。这修复了试图在当前事务中写入代码的问题。

1.5 - 2015年12月30日

  • 修复与 DatabaseTestCase 类的兼容性错误,这可能会破坏功能测试设置。

  • 代码重构:将测试移动到包外部;安装它们没有意义。

1.4 - 2015年11月25日

  • 撤销命名规范更改。这次更改破坏了所有没有在所有地方提供约束名称的现有数据模型。这对于隐式创建无名称约束的类型(如没有本地支持的方言上的布尔型和枚举型)尤其糟糕。

1.3 - 2015年11月23日

  • 配置默认的命名规范,如alembic推荐)。来自Marcin Lulek的Pull request 3

  • 修复在Python 3上运行时pyramid_sqlalchemy自身测试中的导入错误。

  • 在使用DatabaseTestCase测试类时,允许使用pytest --sql-url选项覆盖用于测试的数据库。对于非pytest用户,也支持DB_URI环境变量。

1.2.2 - 2014年9月11日

  • 为Python <3.3添加对mock的依赖。这修复了尝试在生产代码中导入pyramid_sqlalchemy.testing时出现的导入问题。

1.2.1 - 2014年9月1日

  • 将pyramid移至仅测试依赖。这使得在非pyramid环境中使用pyramid_sqlalchemy更加简单。

1.2 - 2014年8月30日

  • 当可用时使用unittest.mock。这消除了Python 3上对mock的依赖。

  • 测试不再需要模拟pyramid_sqlalchemy.includeme;这现在由DatabaseTestCase和py.test测试用例处理。

  • 自动使py.test测试用例外部可用。这消除了需要从文档中复制粘贴它们的需要。

  • 修复pytest测试用例示例中的错误。

  • 设置Travis在CPython 2.6、CPython 2.7、CPython 3.3、CPython 3.4和PyPy上自动运行测试。

1.1 - 2014年7月14日

  • 在包描述中的Pyramid-URL中添加缺少的模式。这破坏了PyPI页面上ReST的渲染。

  • 添加一个新的enable_sql_two_phase_commit()配置指令以启用两阶段提交。

  • 在DatabaseTestCase中启用SQLite的外键约束检查。

  • 使用SQLAlchemy事件而不是ZopeTransactionExtension来处理zope.sqlalchemy和SQLAlchemy的集成。

1.0 - 2014年7月13日

  • 第一个版本。

项目详情


下载文件

下载适合您平台的项目文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pyramid_sqlalchemy-1.6.tar.gz (16.4 kB 查看散列)

源代码

构建分发

pyramid_sqlalchemy-1.6-py2.py3-none-any.whl (12.2 kB 查看散列)

Python 2 Python 3

支持者