diff --git a/alembic/op.pyi b/alembic/op.pyi index 8c672fa3..10e6f591 100644 --- a/alembic/op.pyi +++ b/alembic/op.pyi @@ -1096,8 +1096,8 @@ def execute( * a :func:`sqlalchemy.sql.expression.update`, :func:`sqlalchemy.sql.expression.insert`, or :func:`sqlalchemy.sql.expression.delete` construct. - * Pretty much anything that's "executable" as described - in :ref:`sqlexpression_toplevel`. + * Any "executable" described in SQLAlchemy Core documentation, + noting that no result set is returned. .. note:: when passing a plain string, the statement is coerced into a :func:`sqlalchemy.sql.expression.text` construct. This construct diff --git a/alembic/operations/base.py b/alembic/operations/base.py index 39dadda8..4e59e5ba 100644 --- a/alembic/operations/base.py +++ b/alembic/operations/base.py @@ -1505,8 +1505,8 @@ def execute( * a :func:`sqlalchemy.sql.expression.update`, :func:`sqlalchemy.sql.expression.insert`, or :func:`sqlalchemy.sql.expression.delete` construct. - * Pretty much anything that's "executable" as described - in :ref:`sqlexpression_toplevel`. + * Any "executable" described in SQLAlchemy Core documentation, + noting that no result set is returned. .. note:: when passing a plain string, the statement is coerced into a :func:`sqlalchemy.sql.expression.text` construct. This construct diff --git a/alembic/operations/ops.py b/alembic/operations/ops.py index 05c01aa1..5334a01e 100644 --- a/alembic/operations/ops.py +++ b/alembic/operations/ops.py @@ -2499,8 +2499,8 @@ def execute( * a :func:`sqlalchemy.sql.expression.update`, :func:`sqlalchemy.sql.expression.insert`, or :func:`sqlalchemy.sql.expression.delete` construct. - * Pretty much anything that's "executable" as described - in :ref:`sqlexpression_toplevel`. + * Any "executable" described in SQLAlchemy Core documentation, + noting that no result set is returned. .. note:: when passing a plain string, the statement is coerced into a :func:`sqlalchemy.sql.expression.text` construct. This construct diff --git a/alembic/runtime/migration.py b/alembic/runtime/migration.py index e67434d0..8baeaf0b 100644 --- a/alembic/runtime/migration.py +++ b/alembic/runtime/migration.py @@ -683,7 +683,7 @@ def bind(self) -> Optional[Connection]: In online mode, this is an instance of :class:`sqlalchemy.engine.Connection`, and is suitable for ad-hoc execution of any kind of usage described - in :ref:`sqlexpression_toplevel` as well as + in SQLAlchemy Core documentation as well as for usage with the :meth:`sqlalchemy.schema.Table.create` and :meth:`sqlalchemy.schema.MetaData.create_all` methods of :class:`~sqlalchemy.schema.Table`, diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst index b62df7dc..aa370473 100644 --- a/docs/build/changelog.rst +++ b/docs/build/changelog.rst @@ -4,7 +4,7 @@ Changelog ========== .. changelog:: - :version: 1.10.5 + :version: 1.11.0 :include_notes_from: unreleased .. changelog:: diff --git a/docs/build/unreleased/1178.rst b/docs/build/unreleased/1178.rst index 25789d3c..99cf546e 100644 --- a/docs/build/unreleased/1178.rst +++ b/docs/build/unreleased/1178.rst @@ -1,9 +1,14 @@ .. change:: - :tags: changed, autogenerate + :tags: bug, autogenerate :tickets: 1178 - Don't modify the metadata server default when comparing it in the - autogenerate process. - This impacts the value passes to user provided functions passed in - :paramref:`.EnvironmentContext.configure.compare_server_default` - and third party dialect that implement a custom ``compare_server_default``. + Modified the autogenerate implementation for comparing "server default" + values from user-defined metadata to not apply any quoting to the value + before comparing it to the server-reported default, except for within + dialect-specific routines as needed. This change will affect the format of + the server default as passed to the + :paramref:`.EnvironmentContext.configure.compare_server_default` hook, as + well as for third party dialects that implement a custom + ``compare_server_default`` hook in their alembic impl, to be passed "as is" + and not including additional quoting. Custom implementations which rely + on this quoting should adjust their approach based on observed formatting. diff --git a/docs/build/unreleased/1231.rst b/docs/build/unreleased/1231.rst index 37678caf..b472f228 100644 --- a/docs/build/unreleased/1231.rst +++ b/docs/build/unreleased/1231.rst @@ -3,9 +3,9 @@ :tags: usecase, asyncio :tickets: 1231 - Added :meth:`.Operations.run_async` to the operation module to allow - running async functions in the ``upgrade`` or ``downgrade`` migration - function when running alembic using an async dialect. - This function will receive as first argument an + Added :meth:`.AbstractOperations.run_async` to the operation module to + allow running async functions in the ``upgrade`` or ``downgrade`` migration + function when running alembic using an async dialect. This function will + receive as first argument an :class:`~sqlalchemy.ext.asyncio.AsyncConnection` sharing the transaction used in the migration context. diff --git a/docs/build/unreleased/1237.rst b/docs/build/unreleased/1237.rst index 97170645..bc4c5e0c 100644 --- a/docs/build/unreleased/1237.rst +++ b/docs/build/unreleased/1237.rst @@ -2,8 +2,9 @@ :tags: bug, batch :tickets: 1237 - Added placeholder classes for ``Computed`` and ``Identity`` when older 1.x - SQLAlchemy versions are in use, namely prior to SQLAlchemy 1.3.11 when the - ``Computed`` construct was introduced. Previously these were set to None, - however this could cause issues with certain codepaths that were using - ``isinstance()`` such as one within "batch mode". + Added placeholder classes for :class:`~.sqla.Computed` and + :class:`~.sqla.Identity` when older 1.x SQLAlchemy versions are in use, + namely prior to SQLAlchemy 1.3.11 when the :class:`~.sqla.Computed` + construct was introduced. Previously these were set to None, however this + could cause issues with certain codepaths that were using ``isinstance()`` + such as one within "batch mode".