Revisions of python-alembic

Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1135249 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 78)
- update to 1.13.1:
  * Fixed :class:`.Rewriter` so that more than two instances
    could be chained together correctly, also allowing multiple
    ``process_revision_directives`` callables to be chained.
  * 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.
  * Fixed issue where the "unique" flag of an ``Index`` would not
    be maintained when generating downgrade migrations.
  * 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.
  * 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.
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1133430 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 77)
- update to 1.13.0:
  * 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.
  * 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.
  * Replaced ``python-dateutil`` with the standard library module
    zoneinfo.
  * Alembic 1.13 now supports Python 3.8 and above.
  * 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.
  * 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.
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1125874 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 76)
- update to 1.12.1:
  * 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.
  * Improved typing in the
    :paramref:`.EnvironmentContext.configure.process_revision_dir
    ectives` 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.
  * 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.
  * Improved the ``op.execute()`` method to correctly accept the
  * ``Executable`` type that is the same which is used in
    SQLAlchemy ``Connection.execute()``.
  * Improve typing of the revision parameter in various command
    functions.
  * 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.
  * Alembic now accommodates for Sequence and Identity that
    support dialect kwargs.
    This is a change that will be added to SQLAlchemy v2.1.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1113553 from Matej Cepl's avatar Matej Cepl (mcepl) (revision 75)
- Clean up the SPEC file

- update to 1.12.0
 * 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.
 * Change the default value of `.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.
 * Fixed issue where the `ForeignKeyConstraint.match` parameter would not be
   rendered in autogenerated migrations.
 * 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.
 * 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`.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1103719 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 74)
- update to 1.11.2:
  * Added typing to the default script mako templates.
  * Added support in autogenerate for NULLS NOT DISTINCT in
  * the PostgreSQL dialect.
  * Fixed format string logged when running a post write hook
  * Added parameters if_exists and if_not_exists for index
    operations.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1102506 from Factory Maintainer's avatar Factory Maintainer (factory-maintainer) (revision 73)
Automatic submission by obs-autosubmit
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1092850 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 72)
- tag sle15 build for new python
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1085181 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 71)
- update to 1.10.4:
  * Added support for autogenerate comparison of indexes on
    PostgreSQL which include SQL sort option, such as 
    ``ASC`` or ``NULLS FIRST``.
  * Fixed various typing issues observed with pyright, including
    issues involving the combination of :class:`.Function` and
    :meth:`.MigrationContext.begin_transaction`.
  * Fixed error raised by alembic when running autogenerate after
    removing a function based index.
  * 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.
  * 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.
  * 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.
  * Recursive traversal of revision files in a particular
    revision directory is now supported, by indicating 
    ``recursive_version_locations = true`` in alembic.ini.
  * 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
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1064239 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 70)
- update to 1.9.3:
  * 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.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1061744 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 69)
- update to 1.9.2:
  * Fixed typing definitions for :meth:`.EnvironmentContext.get_x_argument`.
    Typing stubs are now generated for overloaded proxied methods such as
  * 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.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1058079 from Factory Maintainer's avatar Factory Maintainer (factory-maintainer) (revision 68)
Automatic submission by obs-autosubmit
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 992110 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 66)
- update to 1.8.1:
  * 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).
  * 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.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 965089 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 64)
- update to 1.7.7:
  * Fixed issue where using :meth:`.Operations.create_table` in conjunction
    with a :class:`.CheckConstraint` that referred to table-bound
    :class:`.Column` objects rather than string expressions would be added to
    the parent table potentially multiple times, resulting in an incorrect DDL
    sequence. Pull request courtesy Nicolas CANIART.
  * The ``logging.fileConfig()`` line in ``env.py`` templates, which is used
    to setup Python logging for the migration run, is now conditional on
    :attr:`.Config.config_file_name` not being ``None``.  Otherwise, the line
    is skipped as there is no default logging configuration present.
  * Fixed bug where an :meth:`.Operations.alter_column` operation would change
    a "NOT NULL" column to "NULL" by emitting an ALTER COLUMN statement that
    did not specify "NOT NULL". (In the absence of "NOT NULL" T-SQL was
    implicitly assuming "NULL"). An :meth:`.Operations.alter_column` operation
    that specifies :paramref:`.Operations.alter_column.type` should also
    specify include either :paramref:`.Operations.alter_column.nullable` or
    :paramref:`.Operations.alter_column.existing_nullable` to inform Alembic as
    to whether the emitted DDL should include "NULL" or "NOT NULL"; a warning
    is now emitted if this is missing under this scenario.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 954392 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 63)
- update to 1.7.6:
  * Add a new command alembic ensure_version, which will ensure that the Alembic
    version table is present in the target database, but does not alter its
    contents.
  * Fixed regression where usage of a with_variant() datatype in conjunction with
    the existing_type option of op.alter_column() under batch mode would lead to an
    internal exception.
  * Implemented support for recognizing and rendering SQLAlchemy “variant” types
    going forward into SQLAlchemy 2.0, where the architecture of “variant”
    datatypes will be changing.
  * Added a rule to the MySQL impl so that the translation between JSON / LONGTEXT
    is accommodated by autogenerate, treating LONGTEXT from the server as
    equivalent to an existing JSON in the model.
  * Removed a warning raised by SQLAlchemy when dropping constraints on MSSQL
    regarding statement caching.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 936089 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 62)
- update to 1.7.5:
  * Adjustments to the test suite to accommodate for error message change 
    in newer SQLAlchemy
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 925915 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 60)
- update to 1.7.4:
  * Fixed a regression that prevented the use of post write hooks on python
    version lower than 3.9 
  * Added missing attributes from context stubs.
  * Fixed issue where registration of custom ops was prone to failure due to
    the registration process running exec() on generated code that as of the
    1.7 series includes pep-484 annotations, which in the case of end user code
    would result in name resolution errors when the exec occurs

- specfile:
  * skip python 2 builds
  * require importlib-resources
- update to version 1.7.1:
  * Corrected "universal wheel" directive in setup.cfg so that
    building a wheel does not target Python 2. The PyPi files index
    for 1.7.0 was corrected manually. Pull request courtesy layday.
  * Fixed issue in generated .pyi files where default values for
    "Optional" arguments were missing, thereby causing mypy to
    consider them as required.
  * Fixed regression in batch mode due to :ticket:`883` where the
    "auto" mode of batch would fail to accommodate any additional
    migration directives beyond encountering an "add_column()"
    directive, due to a mis-application of the conditional logic that
    was added as part of this change, leading to "recreate" mode not
    being used in cases where it is required for SQLite such as for
    unique constraints.
- changes from version 1.7.0:
  * Fixed regression due to :ticket:`803` where the ".info" and
    ".comment" attributes of "Table" would be lost inside of the
    :class:`.DropTableOp` class, which when "reversed" into a
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 897867 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 59)
- update to 1.6.5:
  * feature
    + [feature] [autogenerate] Fix the documentation regarding the
      default command-line argument position of the revision script
      filename within the post-write hook arguments. Implement a
      REVISION_SCRIPT_FILENAME token, enabling the position to be
      changed. Switch from str.split() to shlex.split() for more
      robust command-line argument parsing.
    + [feature] Implement a .cwd (current working directory) suboption
      for post-write hooks (of type console_scripts). This is useful
      for tools like pre-commit, which rely on the working directory
      to locate the necessary config files. Add pre-commit as an
      example to the documentation. Minor change: rename some
      variables from ticket #819 to improve readability.
  * bug
    + [bug] [autogenerate] Refactored the implementation of
      MigrateOperation constructs such as CreateIndexOp,
      CreateTableOp, etc. so that they no longer rely upon maintaining
      a persistent version of each schema object internally; instead,
      the state variables of each operation object will be used to
      produce the corresponding construct when the operation is
      invoked. The rationale is so that environments which m
Displaying revisions 1 - 20 of 78
openSUSE Build Service is sponsored by