summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2020-10-12 19:51:53 +0000
committerGerrit Code Review <gerrit@bbpush.zzzcomputing.com>2020-10-12 19:51:53 +0000
commit3fcdb7cca05de3a90c4f3b9f96ae680618a26c41 (patch)
tree08b06b18589d8e4da906bda25ba1e3c5de144fa6 /lib/sqlalchemy/sql
parent9e82f32f274e649b04740c819d21ba232c89cfff (diff)
parentc76e3776f52d0d69c8c4932ba53626d7190cf5f4 (diff)
downloadsqlalchemy-3fcdb7cca05de3a90c4f3b9f96ae680618a26c41.tar.gz
Merge "Deprecate bound metadata"
Diffstat (limited to 'lib/sqlalchemy/sql')
-rw-r--r--lib/sqlalchemy/sql/base.py5
-rw-r--r--lib/sqlalchemy/sql/schema.py33
2 files changed, 36 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql/base.py b/lib/sqlalchemy/sql/base.py
index f912163bc..ba1107eac 100644
--- a/lib/sqlalchemy/sql/base.py
+++ b/lib/sqlalchemy/sql/base.py
@@ -1485,6 +1485,11 @@ class ColumnSet(util.ordered_column_set):
def _bind_or_error(schemaitem, msg=None):
+
+ util.warn_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL "
+ "against an engine or connection will be required in SQLAlchemy 2.0."
+ )
bind = schemaitem.bind
if not bind:
name = schemaitem.__class__.__name__
diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py
index f1cfaaef4..d764002a6 100644
--- a/lib/sqlalchemy/sql/schema.py
+++ b/lib/sqlalchemy/sql/schema.py
@@ -858,6 +858,9 @@ class Table(DialectKWArgs, SchemaItem, TableClause):
:class:`_schema.Table`, using the given :class:`.Connectable`
for connectivity.
+ .. note:: the "bind" argument will be required in
+ SQLAlchemy 2.0.
+
.. seealso::
:meth:`_schema.MetaData.create_all`.
@@ -873,6 +876,9 @@ class Table(DialectKWArgs, SchemaItem, TableClause):
:class:`_schema.Table`, using the given :class:`.Connectable`
for connectivity.
+ .. note:: the "bind" argument will be required in
+ SQLAlchemy 2.0.
+
.. seealso::
:meth:`_schema.MetaData.drop_all`.
@@ -2696,14 +2702,24 @@ class Sequence(IdentityOptions, roles.StatementRole, DefaultGenerator):
return None
def create(self, bind=None, checkfirst=True):
- """Creates this sequence in the database."""
+ """Creates this sequence in the database.
+
+ .. note:: the "bind" argument will be required in
+ SQLAlchemy 2.0.
+
+ """
if bind is None:
bind = _bind_or_error(self)
bind._run_ddl_visitor(ddl.SchemaGenerator, self, checkfirst=checkfirst)
def drop(self, bind=None, checkfirst=True):
- """Drops this sequence from the database."""
+ """Drops this sequence from the database.
+
+ .. note:: the "bind" argument will be required in
+ SQLAlchemy 2.0.
+
+ """
if bind is None:
bind = _bind_or_error(self)
@@ -3928,6 +3944,13 @@ class MetaData(SchemaItem):
__visit_name__ = "metadata"
+ @util.deprecated_params(
+ bind=(
+ "2.0",
+ "The :paramref:`_schema.MetaData.bind` argument is deprecated and "
+ "will be removed in SQLAlchemy 2.0.",
+ ),
+ )
def __init__(
self,
bind=None,
@@ -4455,6 +4478,9 @@ class MetaData(SchemaItem):
database; if None, uses the existing bind on this ``MetaData``, if
any.
+ .. note:: the "bind" argument will be required in
+ SQLAlchemy 2.0.
+
:param tables:
Optional list of ``Table`` objects, which is a subset of the total
tables in the ``MetaData`` (others are ignored).
@@ -4481,6 +4507,9 @@ class MetaData(SchemaItem):
database; if None, uses the existing bind on this ``MetaData``, if
any.
+ .. note:: the "bind" argument will be required in
+ SQLAlchemy 2.0.
+
:param tables:
Optional list of ``Table`` objects, which is a subset of the
total tables in the ``MetaData`` (others are ignored).