forked from pool/python-alembic
- 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:
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user