]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- Fixed bug where :class:`.AbstractConcreteBase` would fail to be
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 12 Feb 2014 00:55:34 +0000 (19:55 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 12 Feb 2014 00:55:34 +0000 (19:55 -0500)
commit4a79bc578c67297c707a00d8fafaba533e2833d9
tree808a412724a8137a95472ba974def1073ea1a301
parent0050a8d3db04767b97e48f3aa71381b786481231
- Fixed bug where :class:`.AbstractConcreteBase` would fail to be
fully usable within declarative relationship configuration, as its
string classname would not be available in the registry of classnames
at mapper configuration time.   The class now explicitly adds itself
to the class regsitry, and additionally both :class:`.AbstractConcreteBase`
as well as :class:`.ConcreteBase` set themselves up *before* mappers
are configured within the :func:`.configure_mappers` setup, using
the new :meth:`.MapperEvents.before_configured` event. [ticket:2950]

- Added new :meth:`.MapperEvents.before_configured` event which allows
an event at the start of :func:`.configure_mappers`, as well
as ``__declare_first__()`` hook within declarative to complement
``__declare_last__()``.

- modified how after_configured is invoked; we just make a dispatch()
not actually connected to any mapper.  this makes it easier
to also invoke before_configured correctly.

- improved the ComparableEntity fixture to handle collections that are sets.
doc/build/changelog/changelog_09.rst
lib/sqlalchemy/ext/declarative/__init__.py
lib/sqlalchemy/ext/declarative/api.py
lib/sqlalchemy/ext/declarative/base.py
lib/sqlalchemy/orm/events.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/testing/entities.py
test/ext/declarative/test_inheritance.py