]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
resolve table names using MetaData.schema default in declarative registry
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 30 Apr 2026 19:13:39 +0000 (15:13 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 18 May 2026 14:53:07 +0000 (10:53 -0400)
commit7e0ee8b2541856f50079adf4af95b7120f8d078f
tree2385a2262112fd0a38a56ae329bac48dbfb3f0a2
parent649d70db39ee08bc4b6d76a3760388c965b9d650
resolve table names using MetaData.schema default in declarative registry

Also resolved class-level MetaData not being consulted by the
declarative class registry when resolving string-based table
references.  The registry now uses the same metadata resolution
logic as table creation, checking for a class-specific ``metadata``
attribute before falling back to ``registry.metadata``.  The
``_metadata_for_cls`` function was factored into ``orm/util.py``
for shared use by both ``decl_base.py`` and ``clsregistry.py``.

Fixes: #8068
Fixes: #13291
Change-Id: Ib846be0267f9295a5fee945dc6cf0a72c237bd2c
doc/build/changelog/unreleased_21/13291.rst [new file with mode: 0644]
doc/build/changelog/unreleased_21/8068.rst [new file with mode: 0644]
lib/sqlalchemy/orm/clsregistry.py
lib/sqlalchemy/orm/decl_base.py
lib/sqlalchemy/orm/util.py
test/orm/declarative/test_clsregistry.py