15
0
Files
python-alembic/python-alembic.spec

93 lines
3.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-alembic
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-alembic
Version: 1.9.0
Release: 0
Summary: A database migration tool for SQLAlchemy
License: MIT
URL: https://github.com/sqlalchemy/alembic
Source0: https://files.pythonhosted.org/packages/source/a/alembic/alembic-%{version}.tar.gz
BuildRequires: %{python_module Mako}
- Update to 1.5.8: * Fixed regression caused by SQLAlchemy 1.4 where the "alembic current" command would fail due to changes in the ``URL`` object. * Add async template to Alembic to bootstrap environments that use async DBAPI. Updated the cookbook to include a migration guide on how to adapt an existing enviroment for use with DBAPI drivers. * Fixed bug in versioning model where a downgrade across a revision with a dependency on another branch, yet an ancestor is also dependent on that branch, would produce an erroneous state in the alembic_version table, making upgrades impossible without manually repairing the table. * Changed the default ordering of "CREATE" and "DROP" statements indexes and unique constraints within the autogenerate process, so that for example in an upgrade() operation, a particular index or constraint that is to be replaced such as for a casing convention change will not produce any naming conflicts. * Fixed issue where autogenerate rendering of ``op.alter_column()`` would fail to include MySQL ``existing_nullable=False`` if the column were part of a primary key constraint within the table metadata. * Added support for rendering of "identity" elements on :class:`.Column` objects, supported in SQLAlchemy via the :class:`.Identity` element introduced in version 1.4. * Adding columns with identity is supported on PostgreSQL, MSSQL and Oracle. Changing the identity options or removing it is supported only on PostgreSQL and Oracle. * To accommodate SQLAlchemy 1.4 and 2.0, the migration model now no longer assumes that the SQLAlchemy Connection will autocommit an individual operation. * Modified the ``add_column()`` operation such that the ``Column`` object in use is shallow copied to a new instance if that ``Column`` is already attached to a ``table()`` or ``Table``. * Added rendering for the ``Table.prefixes`` element to autogenerate so that the rendered Python code includes these directives. * Alembic 1.5.0 now supports **Python 2.7 and Python 3.6 and above**, as well as **SQLAlchemy 1.3.0 and above**. * Add ``__main__.py`` file to alembic package to support invocation with ``python -m alembic``. * Removed deprecated ``--head_only`` option to the ``alembic current`` command - Drop pytest_depr_from_parent.patch, pytest plugin no longer used. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-alembic?expand=0&rev=117
2021-04-07 05:40:49 +00:00
BuildRequires: %{python_module SQLAlchemy >= 1.3.0}
BuildRequires: %{python_module importlib-metadata if %python-base < 3.9}
BuildRequires: %{python_module importlib-resources if %python-base < 3.9}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-dateutil}
BuildRequires: %{python_module setuptools}
BuildRequires: %{pythons}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Mako
- Update to 1.5.8: * Fixed regression caused by SQLAlchemy 1.4 where the "alembic current" command would fail due to changes in the ``URL`` object. * Add async template to Alembic to bootstrap environments that use async DBAPI. Updated the cookbook to include a migration guide on how to adapt an existing enviroment for use with DBAPI drivers. * Fixed bug in versioning model where a downgrade across a revision with a dependency on another branch, yet an ancestor is also dependent on that branch, would produce an erroneous state in the alembic_version table, making upgrades impossible without manually repairing the table. * Changed the default ordering of "CREATE" and "DROP" statements indexes and unique constraints within the autogenerate process, so that for example in an upgrade() operation, a particular index or constraint that is to be replaced such as for a casing convention change will not produce any naming conflicts. * Fixed issue where autogenerate rendering of ``op.alter_column()`` would fail to include MySQL ``existing_nullable=False`` if the column were part of a primary key constraint within the table metadata. * Added support for rendering of "identity" elements on :class:`.Column` objects, supported in SQLAlchemy via the :class:`.Identity` element introduced in version 1.4. * Adding columns with identity is supported on PostgreSQL, MSSQL and Oracle. Changing the identity options or removing it is supported only on PostgreSQL and Oracle. * To accommodate SQLAlchemy 1.4 and 2.0, the migration model now no longer assumes that the SQLAlchemy Connection will autocommit an individual operation. * Modified the ``add_column()`` operation such that the ``Column`` object in use is shallow copied to a new instance if that ``Column`` is already attached to a ``table()`` or ``Table``. * Added rendering for the ``Table.prefixes`` element to autogenerate so that the rendered Python code includes these directives. * Alembic 1.5.0 now supports **Python 2.7 and Python 3.6 and above**, as well as **SQLAlchemy 1.3.0 and above**. * Add ``__main__.py`` file to alembic package to support invocation with ``python -m alembic``. * Removed deprecated ``--head_only`` option to the ``alembic current`` command - Drop pytest_depr_from_parent.patch, pytest plugin no longer used. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-alembic?expand=0&rev=117
2021-04-07 05:40:49 +00:00
Requires: python-SQLAlchemy >= 1.3.0
Requires: python-python-dateutil
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%if 0%{?python_version_nodots} < 39
Requires: python-importlib-metadata
Requires: python-importlib-resources
%endif
%python_subpackages
%description
Alembic is a new database migrations tool, written by the author
of SQLAlchemy <http://www.sqlalchemy.org>. A migrations tool
offers the following functionality:
* Can emit ALTER statements to a database in order to change
the structure of tables and other constructs
* Provides a system whereby "migration scripts" may be constructed;
each script indicates a particular series of steps that can "upgrade" a
target database to a new version, and optionally a series of steps that can
"downgrade" similarly, doing the same steps in reverse.
* Allows the scripts to execute in some sequential manner.
%prep
%setup -q -n alembic-%{version}
%autopatch -p1
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%python_clone -a %{buildroot}%{_bindir}/alembic
%check
%pytest -n auto
%post
%python_install_alternative alembic
%postun
%python_uninstall_alternative alembic
%files %{python_files}
%license LICENSE
%doc CHANGES README.rst
%python_alternative %{_bindir}/alembic
%{python_sitelib}/alembic
%{python_sitelib}/alembic-%{version}*-info
%changelog