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

88 lines
2.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-alembic
#
- 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
# Copyright (c) 2021 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-%{**}}
Name: python-alembic
Version: 1.6.2
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
Source1: python-alembic-rpmlintrc
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 mock}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-dateutil}
BuildRequires: %{python_module python-editor >= 0.3}
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
Accepting request 325796 from Cloud:OpenStack:Master - update to 0.8.0: - Added new command alembic edit. This command takes the same arguments as alembic show, however runs the target script file within $EDITOR. Makes use of the python-editor library in order to facilitate the handling of $EDITOR with reasonable default behaviors across platforms. Pull request courtesy Michel Albert. - Added new multiple-capable argument --depends-on to the alembic revision command, allowing depends_on to be established at the command line level rather than having to edit the file after the fact. depends_on identifiers may also be specified as branch names at the command line or directly within the migration file. The values may be specified as partial revision numbers from the command line which will be resolved to full revision numbers in the output file. - The default test runner via “python setup.py test” is now py.test. nose still works via run_tests.py. - The internal system for Alembic operations has been reworked to now build upon an extensible system of operation objects. New operations can be added to the op. namespace, including that they are available in custom autogenerate schemes. - The internal system for autogenerate been reworked to build upon the extensible system of operation objects present in #302. As part of this change, autogenerate now produces a full object graph representing a list of migration scripts to be written as well as operation objects that will render all the Python code within them; a new hook EnvironmentContext.configure.process_revision_directives allows end-user code to fully customize what autogenerate will do, including not just full manipulation of the Python steps to take but also what file or files will be written and where. Additionally, autogenerate is now extensible as far as database objects compared and rendered into scripts; any new operation directive can also be registered into a series of hooks that OBS-URL: https://build.opensuse.org/request/show/325796 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-alembic?expand=0&rev=43
2015-08-25 07:28:20 +00:00
Requires: python-python-editor >= 0.3
Requires(post): update-alternatives
- 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(postun):update-alternatives
BuildArch: noarch
%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
%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*
%changelog