Package: pyramid_sqlalchemy
pyramid_sqlalchemyprovides some basic glue to facilitate usingSQLAlchemywithPyramid.SQLAlchemy relies on global state for a few things:AMetaDatainstance which tracks all known SQL tables.A base class for all models using the ORM.A session factory.Every application using SQLAlchemy must provides its own instance of these.
This makes it hard create add-on packages that also use SQLAlchemy, since they
either need to have their own SQLAlchemy state, which makes it hard to
integrate them into your application, or they need to jump through multiple
complex hoops to allow them share state with your application.pyramid_sqlalchemy helps by providing a canonical location for the global
SQLAlchemy state. In addition it provides a convenient way to configure
SQLAlchemy in a Pyramid application.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()Changelog1.6 - January 4, 2016Updatetransactionpytest fixture to not mock outtransation.get()completely, but only thecommit()transaction method. This fixes problems
with code trying to write on the current transaction.1.5 - December 30, 2015Fix a compatibility error with the DatabaseTestCase class which could break
functional test setup.Code reorganisation: move tests outside the package; there is no point in
installing them.1.4 - November 25, 2015Revert naming convention change. This change broke all existing data models
which did not supply a constraint name everywhere. This is especially bad
for types which implicitly create unnamed constraints, such as booleans and
enums on dialects that do not have native support.1.3 - November 23, 2015Configure a default naming convention, asrecommended by alembic).Pull request 3from Marcin Lulek.Fix a broken import in pyramid_sqlalchemy’s own test when running on Python 3.Allow overriding the database used for testing with the pytest--sql-urloption when using theDatabaseTestCasetest class. For non-pytest users
support theDB_URIenvironment variable as well.1.2.2 - September 11, 2014Add dependency on mock for Python <3.3. This fixes import problems who try to
import pyramid_sqlalchemy.testing in production code.1.2.1 - September 1, 2014Move pyramid to a test-only dependency. This makes it simpler to use
pyramid_sqlalchemy in non-pyramid contexts.1.2 - August 30, 2014Useunittest.mockwhen available. This removes themockdependency on
Python 3.Tests no longer need to mock out pyramid_sqlalchemy.includeme; this is now
handled byDatabaseTestCaseand the py.test fixtures.Automatically make py.test fixtures available externally. This removes the
need to copy & paste them over from the documentation.Fix error on pytest fixture example.SetupTravisto
automatically run tests on CPython 2.6, CPython 2.7, CPython 3.3, CPython 3.4
and PyPy.1.1 - July 14, 2014Add missing schema to the Pyramid-URL in the package description. This broke
ReST rendering on the PyPI page.Add a newenable_sql_two_phase_commit()configuration directive to enable
two-phase commit.Enable foreign key constraint checking for SQLite in DatabaseTestCase.Use SQLAlchemy events instead of ZopeTransactionExtension to handle
integration of zope.sqlalchemy and SQLAlchemy.1.0 - July 13, 2014First release.