Received: by mail.netbsd.org (Postfix, from userid 605) id E19C284E82; Wed, 6 Mar 2024 20:27:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netbsd.org; s=20240131; t=1709756870; bh=keSJYDTfzd2h4rzMzKHEhW9BYGKGdSVit9Ezr+h9K3k=; h=Date:From:Subject:To:Reply-To:List-Id:List-Unsubscribe; b=2ediAlPLNYOkVOhLB8remZcHeIw7MqiFZ6MmQhl8yFjC+49VdVsw9pixJwEYMAa/B d/dA+kizgRJcPEmU7zOOpsvWhExe7+S4ng4Is6uXtZpRZjC4ydNqfAyXeX1T6bInHm LXqhragxu4E3r8qx4hxMYfItpil332g6DjWGaSJw= Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id D37F784E7A for ; Wed, 6 Mar 2024 20:27:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Authentication-Results: mail.netbsd.org (amavisd-new); dkim=pass (1024-bit key) header.d=netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id MI7SXFrUDiRq for ; Wed, 6 Mar 2024 20:27:46 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 4E87F84E55 for ; Wed, 6 Mar 2024 20:27:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netbsd.org; s=20240131; t=1709756866; bh=keSJYDTfzd2h4rzMzKHEhW9BYGKGdSVit9Ezr+h9K3k=; h=Date:From:Subject:To:Reply-To; b=XeIW3ZV2dFOsmZnH9NSaONekGnQNAhpxR15H4WB09arRYjIVg5DMJVEPsPaoiBeO0 lStbnSiy4P6UkuU97D9+v1jety02D7Sv2tk8pEA6ccOApDjxgV2ByQXYdxiWPHVvFn kbiIMY/FRxOeoqaHo3W/Tc6EY6fZj8KC1tjn58zc= Received: by cvs.NetBSD.org (Postfix, from userid 500) id 4726EFA29; Wed, 6 Mar 2024 20:27:46 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_170975686688620" MIME-Version: 1.0 Date: Wed, 6 Mar 2024 20:27:46 +0000 From: "Thomas Klausner" Subject: CVS commit: pkgsrc/databases/py-alembic To: pkgsrc-changes@NetBSD.org Reply-To: wiz@netbsd.org X-Mailer: log_accum Message-Id: <20240306202746.4726EFA29@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_170975686688620 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="UTF-8" Module Name: pkgsrc Committed By: wiz Date: Wed Mar 6 20:27:46 UTC 2024 Modified Files: pkgsrc/databases/py-alembic: Makefile PLIST distinfo Log Message: py-alembic: update to 1.13.1. .. changelog:: :version: 1.13.1 :released: December 20, 2023 .. change:: :tags: bug, autogenerate :tickets: 1337 Fixed :class:`.Rewriter` so that more than two instances could be chained together correctly, also allowing multiple ``process_revision_directives`` callables to be chained. Pull request courtesy zrotceh. .. change:: :tags: bug, environment :tickets: 1369 Fixed issue where the method :meth:`.EnvironmentContext.get_x_argument` using the :paramref:`.EnvironmentContext.get_x_argument.as_dictionary` parameter would fail if an argument key were passed on the command line as a name alone, that is, without an equal sign ``=`` or a value. Behavior is repaired where this condition is detected and will return a blank string for the given key, consistent with the behavior where the ``=`` sign is present and no value. Pull request courtesy Iuri de Silvio. .. change:: :tags: bug, autogenerate :tickets: 1370 Fixed issue where the "unique" flag of an ``Index`` would not be maintained when generating downgrade migrations. Pull request courtesy Iuri de Silvio. .. change:: :tags: bug, versioning :tickets: 1373 Fixed bug in versioning model where a downgrade across a revision with two down revisions with one down revision depending on the other, would produce an erroneous state in the alembic_version table, making upgrades impossible without manually repairing the table. Thanks much to Saif Hakim for the great work on this. .. change:: :tags: bug, typing :tickets: 1377 Updated pep-484 typing to pass mypy "strict" mode, however including per-module qualifications for specific typing elements not yet complete. This allows us to catch specific typing issues that have been ongoing such as import symbols not properly exported. .. changelog:: :version: 1.13.0 :released: December 1, 2023 .. change:: :tags: bug, commands :tickets: 1234 Fixed issue where the ``alembic check`` command did not function correctly with upgrade structures that have multiple, top-level elements, as are generated from the "multi-env" environment template. Pull request courtesy Neil Williams. .. change:: :tags: usecase, operations :tickets: 1323 Updated logic introduced in :ticket:`151` to allow ``if_exists`` and ``if_not_exists`` on index operations also on SQLAlchemy 1.4 series. Previously this feature was mistakenly requiring the 2.0 series. .. change:: :tags: usecase :tickets: 1339 Replaced ``python-dateutil`` with the standard library module `zoneinfo `_. This module was added in Python 3.9, so previous version will been to install the backport of it, available by installing the ``backports.zoneinfo`` library. The ``alembic[tz]`` option has been updated accordingly. .. change:: :tags: installation, changed :tickets: 1359 Alembic 1.13 now supports Python 3.8 and above. .. change:: :tags: bug, autogenerate :tickets: 1361 Fixed autogenerate issue where ``create_table_comment()`` and ``drop_table_comment()`` rendering in a batch table modify would include the "table" and "schema" arguments, which are not accepted in batch as these are already part of the top level block. .. change:: :tags: bug, postgresql :tickets: 1321, 1327, 1356 Additional fixes to PostgreSQL expression index compare feature. The compare now correctly accommodates casts and differences in spacing. Added detection logic for operation clauses inside the expression, skipping the compare of these expressions. To accommodate these changes the logic for the comparison of the indexes and unique constraints was moved to the dialect implementation, allowing greater flexibility. .. changelog:: :version: 1.12.1 :released: October 26, 2023 .. change:: :tags: bug, autogenerate, regression :tickets: 1329 Fixed regression caused by :ticket:`879` released in 1.7.0 where the ".info" dictionary of ``Table`` would not render in autogenerate create table statements. This can be useful for custom create table DDL rendering schemes so it is restored. .. change:: :tags: bug, typing :tickets: 1325 Improved typing in the :paramref:`.EnvironmentContext.configure.process_revision_directives` callable to better indicate that the passed-in type is :class:`.MigrationScript`, not the :class:`.MigrationOperation` base class, and added typing to the example at :ref:`cookbook_no_empty_migrations` to illustrate. .. change:: :tags: bug, operations :tickets: 1335 Repaired :class:`.ExecuteSQLOp` so that it can participate in "diff" operations; while this object is typically not present in a reflected operation stream, custom hooks may be adding this construct where it needs to have the correct ``to_diff_tuple()`` method. Pull request courtesy Sebastian Bayer. .. change:: :tags: typing, bug :tickets: 1058, 1277 Improved the ``op.execute()`` method to correctly accept the ``Executable`` type that is the same which is used in SQLAlchemy ``Connection.execute()``. Pull request courtesy Mihail Milushev. .. change:: :tags: typing, bug :tickets: 930 Improve typing of the revision parameter in various command functions. .. change:: :tags: typing, bug :tickets: 1266 Properly type the :paramref:`.Operations.create_check_constraint.condition` parameter of :meth:`.Operations.create_check_constraint` to accept boolean expressions. .. change:: :tags: bug, postgresql :tickets: 1322 Fixed autogen render issue where expressions inside of indexes for PG need to be double-parenthesized, meaning a single parens must be present within the generated ``text()`` construct. .. change:: :tags: usecase :tickets: 1304 Alembic now accommodates for Sequence and Identity that support dialect kwargs. This is a change that will be added to SQLAlchemy v2.1. .. changelog:: :version: 1.12.0 :released: August 31, 2023 .. change:: :tags: bug, operations :tickets: 1300 Added support for ``op.drop_constraint()`` to support PostgreSQL ``ExcludeConstraint`` objects, as well as other constraint-like objects that may be present in third party dialects, by resolving the ``type_`` parameter to be ``None`` for this case. Autogenerate has also been enhanced to exclude the ``type_`` parameter from rendering within this command when ``type_`` is ``None``. Pull request courtesy David Hills. .. change:: :tags: bug, commands :tickets: 1299 Fixed issue where the ``revision_environment`` directive in ``alembic.ini`` was ignored by the ``alembic merge`` command, leading to issues when other configurational elements depend upon ``env.py`` being invoked within the command. .. change:: :tags: bug, autogenerate :tickets: 1302 Fixed issue where the ``ForeignKeyConstraint.match`` parameter would not be rendered in autogenerated migrations. Pull request courtesy Asib Kamalsada. .. change:: :tags: usecase, autogenerate :tickets: 1248 Change the default value of :paramref:`.EnvironmentContext.configure.compare_type` to ``True``. As Alembic's autogenerate for types was dramatically improved in version 1.4 released in 2020, the type comparison feature is now much more reliable so is now enabled by default. .. change:: :tags: feature, autogenerate :tickets: 1275 Added new feature to the "code formatter" function which allows standalone executable tools to be run against code, without going through the Python interpreter. Known as the ``exec`` runner, it complements the existing ``console_scripts`` runner by allowing non-Python tools such as ``ruff`` to be used. Pull request courtesy Mihail Milushev. .. seealso:: :ref:`post_write_hooks_config` .. changelog:: :version: 1.11.3 :released: August 16, 2023 .. change:: :tags: bug, autogenerate, postgresql :tickets: 1270 Improved autogenerate compare of expression based indexes on PostgreSQL to produce fewer wrong detections. .. change:: :tags: bug, autogenerate :tickets: 1291 Fixed issue with ``NULLS NOT DISTINCT`` detection in postgresql that would keep detecting changes in the index or unique constraint. .. change:: :tags: bug, commands :tickets: 1273 Added ``encoding="locale"`` setting to the use of Python's ``ConfigParser.read()``, so that a warning is not generated when using the recently added Python feature ``PYTHONWARNDEFAULTENCODING`` specified in :pep:`597`. The encoding is passed as the ``"locale"`` string under Python 3.10 and greater, which indicates that the system-level locale should be used, as was the case already here. Pull request courtesy Kevin Kirsche. .. changelog:: :version: 1.11.2 :released: August 4, 2023 .. change:: :tags: usecase, typing :tickets: 1253 Added typing to the default script mako templates. .. change:: :tags: usecase, autogenerate :tickets: 1248 Added support in autogenerate for ``NULLS NOT DISTINCT`` in the PostgreSQL dialect. .. change:: :tags: bug :tickets: 1261 Fixed format string logged when running a post write hook Pull request curtesy of Mathieu Défosse. .. change:: :tags: feature, operations :tickets: 151 Added parameters if_exists and if_not_exists for index operations. Pull request courtesy of Max Adrian. .. changelog:: :version: 1.11.1 :released: May 17, 2023 .. change:: :tags: bug, autogenerate, regression :tickets: 1243, 1245 As Alembic 1.11.0 is considered a major release (Alembic does not use semver, nor does its parent project SQLAlchemy; this has been :ref:`clarified ` in the documentation), change :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. These two signatures have been restored to allow those particular parameters to be passed positionally. A future change will include formal deprecation paths (with warnings) for these arguments where they will again become keyword-only in a future "Significant Minor" release. .. change:: :tags: bug, typing :tickets: 1246 Fixed typing use of :class:`~sqlalchemy.schema.Column` and other generic SQLAlchemy classes. .. change:: :tags: bug, typing, regression :tickets: 1244 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. .. changelog:: :version: 1.11.0 :released: May 15, 2023 .. change:: :tags: bug, batch :tickets: 1237 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". .. change:: :tags: bug, batch :tickets: 1221 Correctly pass previously ignored arguments ``insert_before`` and ``insert_after`` in ``batch_alter_column`` .. change:: :tags: change, py3k :tickets: 1130 Argument signatures of Alembic operations now enforce keyword-only arguments as passed as keyword and not positionally, such as :paramref:`.Operations.create_table.schema`, :paramref:`.Operations.add_column.type_`, etc. .. change:: :tags: bug, postgresql :tickets: 1230 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()``. .. change:: :tags: bug, mysql, regression :tickets: 1240 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. .. change:: :tags: misc :tickets: 1220 Update code snippets within docstrings to use ``black`` code formatting. Pull request courtesy of James Addison. .. change:: :tags: bug, typing :tickets: 1093 Updated stub generator script to also add stubs method definitions for the :class:`.Operations` class and the :class:`.BatchOperations` class obtained from :meth:`.Operations.batch_alter_table`. As part of this change, the class hierarchy of :class:`.Operations` and :class:`.BatchOperations` has been rearranged on top of a common base class :class:`.AbstractOperations` in order to type correctly, as :class:`.BatchOperations` uses different method signatures for operations than :class:`.Operations`. .. change:: :tags: bug, typing Repaired the return signatures for :class:`.Operations` that mostly return ``None``, and were erroneously referring to ``Optional[Table]`` in many cases. .. change:: :tags: usecase, commands :tickets: 1109 Added quiet option to the command line, using the ``-q/--quiet`` option. This flag will prevent alembic from logging anything to stdout. .. change:: :tags: bug, autogenerate :tickets: 1178 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. .. change:: :tags: bug, api, autogenerate :tickets: 1235 Fixed issue where :func:`.autogenerate.render_python_code` function did not provide a default value for the ``user_module_prefix`` variable, leading to ``NoneType`` errors when autogenerate structures included user-defined types. Added new parameter :paramref:`.autogenerate.render_python_code.user_module_prefix` to allow this to be set as well as to default to ``None``. Pull request courtesy tangkikodo. .. change:: :tags: usecase, asyncio :tickets: 1231 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. .. changelog:: :version: 1.10.4 :released: April 24, 2023 .. change:: :tags: postgresql, autogenerate, feature :tickets: 1213 Added support for autogenerate comparison of indexes on PostgreSQL which include SQL sort option, such as ``ASC`` or ``NULLS FIRST``. The sort options are correctly detected only when defined using the sqlalchemy modifier functions, such as ``asc()`` or ``nulls_first()``, or the equivalent methods. Passing sort options inside the ``postgresql_ops`` dict is not supported. .. change:: :tags: bug, operations :tickets: 1215 Fixed issue where using a directive such as ``op.create_foreign_key()`` to create a self-referential constraint on a single table where the same column were present on both sides (e.g. within a composite foreign key) would produce an error under SQLAlchemy 2.0 and a warning under SQLAlchemy 1.4 indicating that a duplicate column were being added to a table. .. changelog:: :version: 1.10.3 :released: April 5, 2023 .. change:: :tags: bug, typing :tickets: 1191, 1201 Fixed various typing issues observed with pyright, including issues involving the combination of :class:`.Function` and :meth:`.MigrationContext.begin_transaction`. .. change:: :tags: bug, autogenerate :tickets: 1212 Fixed error raised by alembic when running autogenerate after removing a function based index. .. changelog:: :version: 1.10.2 :released: March 8, 2023 .. change:: :tags: bug, ops :tickets: 1196 Fixed regression where Alembic would not run with older SQLAlchemy 1.3 versions prior to 1.3.24 due to a missing symbol. Workarounds have been applied for older 1.3 versions. .. changelog:: :version: 1.10.1 :released: March 6, 2023 .. change:: :tags: bug, postgresql :tickets: 1184 Fixed issue regarding PostgreSQL :class:`.ExcludeConstraint`, where constraint elements which made use of :func:`.literal_column` could not be rendered for autogenerate. Additionally, using SQLAlchemy 2.0.5 or greater, :func:`.text()` constructs are also supported within PostgreSQL :class:`.ExcludeConstraint` objects for autogenerate render. Pull request courtesy Jan Katins. .. change:: :tags: bug, batch, regression :tickets: 1195 Fixed regression for 1.10.0 where :class:`.Constraint` objects were suddenly required to have non-None name fields when using batch mode, which was not previously a requirement. .. changelog:: :version: 1.10.0 :released: March 5, 2023 .. change:: :tags: bug, autogenerate :tickets: 1166 Fixed issue in index detection where autogenerate change detection would consider indexes with the same columns but with different order as equal, while in general they are not equivalent in how a database will use them. .. change:: :tags: feature, revisioning :tickets: 760 Recursive traversal of revision files in a particular revision directory is now supported, by indicating ``recursive_version_locations = true`` in alembic.ini. Pull request courtesy ostr00000. .. change:: :tags: bug, autogenerate, sqlite :tickets: 1165 Fixed issue where indexes on SQLite which include SQL expressions would not compare correctly, generating false positives under autogenerate. These indexes are now skipped, generating a warning, in the same way that expression-based indexes on PostgreSQL are skipped and generate warnings when SQLAlchemy 1.x installations are in use. Note that reflection of SQLite expression-based indexes continues to not yet be supported under SQLAlchemy 2.0, even though PostgreSQL expression-based indexes have now been implemented. .. change:: :tags: bug, mssql :tickets: 1187 Properly escape constraint name on SQL Server when dropping a column while specifying ``mssql_drop_default=True`` or ``mssql_drop_check=True`` or ``mssql_drop_foreign_key=True``. .. change:: :tags: usecase, autogenerate, postgresql Added support for autogenerate comparison of indexes on PostgreSQL which include SQL expressions, when using SQLAlchemy 2.0; the previous warning that such indexes were skipped are removed when the new functionality is in use. When using SQLAlchemy versions prior to the 2.0 series, the indexes continue to be skipped with a warning. .. changelog:: :version: 1.9.4 :released: February 16, 2023 .. change:: :tags: bug, mssql :tickets: 1177 Ongoing fixes for SQL Server server default comparisons under autogenerate, adjusting for SQL Server's collapsing of whitespace between SQL function arguments when reporting on a function-based server default, as well as its arbitrary addition of parenthesis within arguments; the approach has now been made more aggressive by stripping the two default strings to compare of all whitespace, parenthesis, and quoting characters. .. change:: :tags: bug, postgresql Fixed PostgreSQL server default comparison to handle SQL expressions sent as ``text()`` constructs, such as ``text("substring('name', 1, 3)")``, which previously would raise errors when attempting to run a server-based comparison. .. change:: :tags: bug, autogenerate :tickets: 1180 Removed a mis-use of the :paramref:`.EnvironmentContext.configure.render_item` callable where the "server_default" renderer would be erroneously used within the server default comparison process, which is working against SQL expressions, not Python code. .. change:: :tags: bug, commands Fixed regression introduced in 1.7.0 where the "config" object passed to the template context when running the :func:`.merge` command programmatically failed to be correctly populated. Pull request courtesy Brendan Gann. .. changelog:: :version: 1.9.3 :released: February 7, 2023 .. change:: :tags: bug, autogenerate :tickets: 1167 Fixed issue where rendering of user-defined types that then went onto use the ``.with_variant()`` method would fail to render, if using SQLAlchemy 2.0's version of variants. .. changelog:: :version: 1.9.2 :released: January 14, 2023 .. change:: :tags: bug, typing :tickets: 1146, 1147 Fixed typing definitions for :meth:`.EnvironmentContext.get_x_argument`. Typing stubs are now generated for overloaded proxied methods such as :meth:`.EnvironmentContext.get_x_argument`. .. change:: :tags: bug, autogenerate :tickets: 1152 Fixed regression caused by :ticket:`1145` where the string transformations applied to server defaults caused expressions such as ``(getdate())`` to no longer compare as equivalent on SQL Server, others. .. changelog:: :version: 1.9.1 :released: December 23, 2022 .. change:: :tags: bug, autogenerate :tickets: 1145 Fixed issue where server default compare would not work for string defaults that contained backslashes, due to mis-rendering of these values when comparing their contents. .. change:: :tags: bug, oracle Implemented basic server default comparison for the Oracle backend; previously, Oracle's formatting of reflected defaults prevented any matches from occurring. .. change:: :tags: bug, sqlite Adjusted SQLite's compare server default implementation to better handle defaults with or without parens around them, from both the reflected and the local metadata side. .. change:: :tags: bug, mssql Adjusted SQL Server's compare server default implementation to better handle defaults with or without parens around them, from both the reflected and the local metadata side. .. changelog:: :version: 1.9.0 :released: December 15, 2022 .. change:: :tags: feature, commands :tickets: 724 Added new Alembic command ``alembic check``. This performs the widely requested feature of running an "autogenerate" comparison between the current database and the :class:`.MetaData` that's currently set up for autogenerate, returning an error code if the two do not match, based on current autogenerate settings. Pull request courtesy Nathan Louie. .. seealso:: :ref:`alembic_check` .. change:: :tags: bug, tests Fixed issue in tox.ini file where changes in the tox 4.0 series to the format of "passenv" caused tox to not function correctly, in particular raising an error as of tox 4.0.6. .. change:: :tags: bug, typing :tickets: 1110 Fixed typing issue where :paramref:`.revision.process_revision_directives` was not fully typed; additionally ensured all ``Callable`` and ``Dict`` arguments to :meth:`.EnvironmentContext.configure` include parameters in the typing declaration. Additionally updated the codebase for Mypy 0.990 compliance. .. changelog:: :version: 1.8.1 :released: July 13, 2022 .. change:: :tags: bug, sqlite :tickets: 1065 Fixed bug where the SQLite implementation of :meth:`.Operations.rename_table` would render an explicit schema name for both the old and new table name, which while is the standard ALTER syntax, is not accepted by SQLite's syntax which doesn't support a rename across schemas. In particular, the syntax issue would prevent batch mode from working for SQLite databases that made use of attached databases (which are treated as "schemas" in SQLAlchemy). .. change:: :tags: bug, batch :tickets: 1021 Added an error raise for the condition where :meth:`.Operations.batch_alter_table` is used in ``--sql`` mode, where the operation requires table reflection, as is the case when running against SQLite without giving it a fixed ``Table`` object. Previously the operation would fail with an internal error. To get a "move and copy" batch operation as a SQL script without connecting to a database, a ``Table`` object should be passed to the :paramref:`.Operations.batch_alter_table.copy_from` parameter so that reflection may be skipped. .. changelog:: :version: 1.8.0 :released: May 31, 2022 .. change:: :tags: feature, typing :tickets: 764 :pep:`484` typing annotations have been added to the ``env.py`` and revision template files within migration templates. Pull request by Nikita Sobolev. .. change:: :tags: usecase, operations :tickets: 1037 The ``op.drop_table()`` operation directive will now trigger the ``before_drop()`` and ``after_drop()`` DDL event hooks at the table level, which is similar to how the ``before_create()`` and ``after_create()`` hooks are triggered by the ``op.create_table()`` directive. Note that as ``op.drop_table()`` accepts only a table name and optional schema name, the ``Table`` object received by the event will not have any information within it other than the table name and schema name. .. change:: :tags: installation, changed :tickets: 1025 Alembic 1.8 now supports Python 3.7 and above. .. change:: :tags: changed, environment :tickets: 987 The "Pylons" environment template has been removed as of Alembic 1.8. This template was based on the very old pre-Pyramid Pylons web framework which has been long superseded by Pyramid. .. change:: :tags: bug, revisioning :tickets: 1026 Fixed issue where a downgrade using a relative revision would fail in case of multiple branches with a single effectively head due to interdependencies between revisions. .. change:: :tags: usecase, commands :tickets: 1027 Added new token ``epoch`` to the ``file_template`` option, which will populate the integer epoch as determined by ``int(create_date.timestamp())``. Pull request courtesy Caio Carvalho. .. change:: :tags: bug, batch :tickets: 1034 Fixed issue in batch mode where CREATE INDEX would not use a new column name in the case of a column rename. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 pkgsrc/databases/py-alembic/Makefile cvs rdiff -u -r1.8 -r1.9 pkgsrc/databases/py-alembic/PLIST cvs rdiff -u -r1.27 -r1.28 pkgsrc/databases/py-alembic/distinfo Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_170975686688620 Content-Disposition: inline Content-Length: 4847 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/databases/py-alembic/Makefile diff -u pkgsrc/databases/py-alembic/Makefile:1.32 pkgsrc/databases/py-alembic/Makefile:1.33 --- pkgsrc/databases/py-alembic/Makefile:1.32 Wed Mar 29 09:34:04 2023 +++ pkgsrc/databases/py-alembic/Makefile Wed Mar 6 20:27:46 2024 @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.32 2023/03/29 09:34:04 wiz Exp $ +# $NetBSD: Makefile,v 1.33 2024/03/06 20:27:46 wiz Exp $ -DISTNAME= alembic-1.7.7 +DISTNAME= alembic-1.13.1 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= databases python MASTER_SITES= ${MASTER_SITE_PYPI:=a/alembic/} @@ -10,18 +10,16 @@ HOMEPAGE= https://alembic.sqlalchemy.org COMMENT= Database migration tool for SQLAlchemy LICENSE= mit -DEPENDS+= ${PYPKGPREFIX}-dateutil-[0-9]*:../../time/py-dateutil +TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools +TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako DEPENDS+= ${PYPKGPREFIX}-sqlalchemy>=1.3.0:../../databases/py-sqlalchemy -TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock -TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test +DEPENDS+= ${PYPKGPREFIX}-typing-extensions>=4:../../devel/py-typing-extensions USE_LANGUAGES= # none PYTHON_VERSIONS_INCOMPATIBLE= 27 -USE_PKG_RESOURCES= yes - .include "../../lang/python/pyversion.mk" .if ${PYTHON_VERSION} < 309 @@ -33,8 +31,5 @@ post-install: cd ${DESTDIR}${PREFIX}/bin && \ ${MV} alembic alembic-${PYVERSSUFFIX} || ${TRUE} -do-test: - cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} - -.include "../../lang/python/egg.mk" +.include "../../lang/python/wheel.mk" .include "../../mk/bsd.pkg.mk" Index: pkgsrc/databases/py-alembic/PLIST diff -u pkgsrc/databases/py-alembic/PLIST:1.8 pkgsrc/databases/py-alembic/PLIST:1.9 --- pkgsrc/databases/py-alembic/PLIST:1.8 Sun Nov 14 18:42:37 2021 +++ pkgsrc/databases/py-alembic/PLIST Wed Mar 6 20:27:46 2024 @@ -1,12 +1,11 @@ -@comment $NetBSD: PLIST,v 1.8 2021/11/14 18:42:37 adam Exp $ +@comment $NetBSD: PLIST,v 1.9 2024/03/06 20:27:46 wiz Exp $ bin/alembic-${PYVERSSUFFIX} -${PYSITELIB}/${EGG_INFODIR}/PKG-INFO -${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt -${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt -${PYSITELIB}/${EGG_INFODIR}/entry_points.txt -${PYSITELIB}/${EGG_INFODIR}/not-zip-safe -${PYSITELIB}/${EGG_INFODIR}/requires.txt -${PYSITELIB}/${EGG_INFODIR}/top_level.txt +${PYSITELIB}/${WHEEL_INFODIR}/LICENSE +${PYSITELIB}/${WHEEL_INFODIR}/METADATA +${PYSITELIB}/${WHEEL_INFODIR}/RECORD +${PYSITELIB}/${WHEEL_INFODIR}/WHEEL +${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt +${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt ${PYSITELIB}/alembic/__init__.py ${PYSITELIB}/alembic/__init__.pyc ${PYSITELIB}/alembic/__init__.pyo @@ -41,6 +40,9 @@ ${PYSITELIB}/alembic/context.pyo ${PYSITELIB}/alembic/ddl/__init__.py ${PYSITELIB}/alembic/ddl/__init__.pyc ${PYSITELIB}/alembic/ddl/__init__.pyo +${PYSITELIB}/alembic/ddl/_autogen.py +${PYSITELIB}/alembic/ddl/_autogen.pyc +${PYSITELIB}/alembic/ddl/_autogen.pyo ${PYSITELIB}/alembic/ddl/base.py ${PYSITELIB}/alembic/ddl/base.pyc ${PYSITELIB}/alembic/ddl/base.pyo @@ -130,12 +132,6 @@ ${PYSITELIB}/alembic/templates/multidb/e ${PYSITELIB}/alembic/templates/multidb/env.pyc ${PYSITELIB}/alembic/templates/multidb/env.pyo ${PYSITELIB}/alembic/templates/multidb/script.py.mako -${PYSITELIB}/alembic/templates/pylons/README -${PYSITELIB}/alembic/templates/pylons/alembic.ini.mako -${PYSITELIB}/alembic/templates/pylons/env.py -${PYSITELIB}/alembic/templates/pylons/env.pyc -${PYSITELIB}/alembic/templates/pylons/env.pyo -${PYSITELIB}/alembic/templates/pylons/script.py.mako ${PYSITELIB}/alembic/testing/__init__.py ${PYSITELIB}/alembic/testing/__init__.pyc ${PYSITELIB}/alembic/testing/__init__.pyo Index: pkgsrc/databases/py-alembic/distinfo diff -u pkgsrc/databases/py-alembic/distinfo:1.27 pkgsrc/databases/py-alembic/distinfo:1.28 --- pkgsrc/databases/py-alembic/distinfo:1.27 Fri Apr 29 13:27:48 2022 +++ pkgsrc/databases/py-alembic/distinfo Wed Mar 6 20:27:46 2024 @@ -1,5 +1,5 @@ -$NetBSD: distinfo,v 1.27 2022/04/29 13:27:48 adam Exp $ +$NetBSD: distinfo,v 1.28 2024/03/06 20:27:46 wiz Exp $ -BLAKE2s (alembic-1.7.7.tar.gz) = 19a410a1df14ad564196bec60647a01c20440f54090c42a0d2b3ee58ef5be065 -SHA512 (alembic-1.7.7.tar.gz) = dcb4ba2faafc3ee789981931e0548f7328c1118938150789218e720f39386fd5e7e2543ab241838bcc1faaf36db07900fd065963496e68ced0896a5f4795d63d -Size (alembic-1.7.7.tar.gz) = 1247590 bytes +BLAKE2s (alembic-1.13.1.tar.gz) = 988e95582149dad9f01b3a21851d9df0196c8b8af7be40c0d22d457c67d057c3 +SHA512 (alembic-1.13.1.tar.gz) = 2a5826461bec22c2efc244dd8394d34d39ed6e3511a32e8e460057ab34f9e559d28dda4ea7e34ccd30628e889a3cb37cb156596e37dba748c12a0195d78aa678 +Size (alembic-1.13.1.tar.gz) = 1213288 bytes --_----------=_170975686688620--