15
0

- update to 1.11.1:

* As Alembic 1.11.0 is considered a major release (Alembic does
    not use semver, nor does its parent project SQLAlchemy; 
    this has been `clarified <versioning_scheme>` in the documentation),
  * 🎫`1130` modified calling signatures for most
    operations to consider all optional keyword parameters to
    be keyword-only arguments, to match what was always documented
    and generated by autogenerate. However, two of these
    changes were identified as possibly problematic without a
    more formal deprecation warning being emitted which were the
    ``table_name`` parameter to :meth:`.Operations.drop_index`,
    which was generated positionally by autogenerate prior to 
    version 0.6.3 released in 2014, and
    ``type_`` in :meth:`.Operations.drop_constraint` and
    :meth:`.BatchOperations.drop_constraint`, which was
    documented positionally in one example in the batch documentation.
  * Fixed typing use of :class:`~sqlalchemy.schema.Column` and
    other generic SQLAlchemy classes.
  * Restored the output type of :meth:`.Config.get_section` to
    include ``Dict[str, str]`` as a potential return type, which
    had been changed to immutable ``Mapping[str, str]``.
    When a section is returned and the default is not used,
    a mutable dictionary is returned.
  * 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".

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-alembic?expand=0&rev=146
This commit is contained in:
2023-07-29 21:25:10 +00:00
committed by Git OBS Bridge
parent 303e5c24de
commit 8e2cbab40b
4 changed files with 73 additions and 4 deletions

View File

@@ -1,3 +1,72 @@
-------------------------------------------------------------------
Sat Jul 29 21:17:43 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 1.11.1:
* As Alembic 1.11.0 is considered a major release (Alembic does
not use semver, nor does its parent project SQLAlchemy;
this has been `clarified <versioning_scheme>` in the documentation),
* :ticket:`1130` modified calling signatures for most
operations to consider all optional keyword parameters to
be keyword-only arguments, to match what was always documented
and generated by autogenerate. However, two of these
changes were identified as possibly problematic without a
more formal deprecation warning being emitted which were the
``table_name`` parameter to :meth:`.Operations.drop_index`,
which was generated positionally by autogenerate prior to
version 0.6.3 released in 2014, and
``type_`` in :meth:`.Operations.drop_constraint` and
:meth:`.BatchOperations.drop_constraint`, which was
documented positionally in one example in the batch documentation.
* Fixed typing use of :class:`~sqlalchemy.schema.Column` and
other generic SQLAlchemy classes.
* Restored the output type of :meth:`.Config.get_section` to
include ``Dict[str, str]`` as a potential return type, which
had been changed to immutable ``Mapping[str, str]``.
When a section is returned and the default is not used,
a mutable dictionary is returned.
* 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".
* Correctly pass previously ignored arguments ``insert_before``
and ``insert_after`` in ``batch_alter_column``
* Argument signatures of Alembic operations now enforce
keyword-only arguments as passed as keyword and not
positionally, such as Operations.create_table.schema
.Operations.add_column.type_, etc.
* Fix autogenerate issue with PostgreSQL
:class:`.ExcludeConstraint` that included sqlalchemy
functions. The function text was previously rendered
as a plain string without surrounding with ``text()``.
* Fixed regression caused by :ticket:`1166` released in version
1.10.0 which caused MySQL unique constraints with multiple
columns to not compare correctly within autogenerate,
due to different sorting rules on unique constraints vs.
indexes, which in MySQL are shared constructs.
* Repaired the return signatures for :class:`.Operations` that
mostly return ``None``, and were erroneously referring to
``Optional[Table]`` in many cases.
* 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_defau
lt` 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.
* 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.
-------------------------------------------------------------------
Tue Jun 13 11:35:16 UTC 2023 - Dirk Müller <dmueller@suse.com>