summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ext/automap.py
diff options
context:
space:
mode:
authorGord Thompson <gord@gordthompson.com>2021-02-16 12:35:32 -0700
committerMike Bayer <mike_mp@zzzcomputing.com>2021-02-25 16:01:59 -0500
commit54e848dfed020e0600fb0d50a80a4d94ad745747 (patch)
tree8c66d938cfce6356defc2e4fe551ac4717a604f2 /lib/sqlalchemy/ext/automap.py
parentdc615763d39916e9c037c7c376db1817cdf02764 (diff)
downloadsqlalchemy-54e848dfed020e0600fb0d50a80a4d94ad745747.tar.gz
Add reflection_options to automapbase.prepare()
Fixes: #5942 Change-Id: If72ccca93fbe303799b1bacb7339c4c85e4251aa
Diffstat (limited to 'lib/sqlalchemy/ext/automap.py')
-rw-r--r--lib/sqlalchemy/ext/automap.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/sqlalchemy/ext/automap.py b/lib/sqlalchemy/ext/automap.py
index 6d90214bf..3d2e3eb29 100644
--- a/lib/sqlalchemy/ext/automap.py
+++ b/lib/sqlalchemy/ext/automap.py
@@ -779,6 +779,7 @@ class AutomapBase(object):
name_for_scalar_relationship=None,
name_for_collection_relationship=None,
generate_relationship=None,
+ reflection_options=util.EMPTY_DICT,
):
"""Extract mapped classes and relationships from the
:class:`_schema.MetaData` and
@@ -830,6 +831,13 @@ class AutomapBase(object):
.. versionadded:: 1.1
+ :param reflection_options: When present, this dictionary of options
+ will be passed to :meth:`_schema.MetaData.reflect`
+ to supply general reflection-specific options like ``only`` and/or
+ dialect-specific options like ``oracle_resolve_synonyms``.
+
+ .. versionadded:: 1.4
+
"""
glbls = globals()
if classname_for_table is None:
@@ -854,12 +862,14 @@ class AutomapBase(object):
autoload_with = engine
if reflect:
- cls.metadata.reflect(
- autoload_with,
+ opts = dict(
schema=schema,
extend_existing=True,
autoload_replace=False,
)
+ if reflection_options:
+ opts.update(reflection_options)
+ cls.metadata.reflect(autoload_with, **opts)
with _CONFIGURE_MUTEX:
table_to_map_config = dict(