15
0
Files
python-alembic/python-alembic.spec
Dirk Mueller 018bc9367a Accepting request 327176 from Cloud:OpenStack:Master
- update to 0.8.2:
  - Added workaround in new foreign key option detection feature for MySQL’s
    consideration of the “RESTRICT” option being the default, for which no
    value is reported from the database; the MySQL impl now corrects for when
    the model reports RESTRICT but the database reports nothing. A similar
    rule is in the default FK comparison to accommodate for the default
    “NO ACTION” setting being present in the model but not necessarily
    reported by the database, or vice versa.
  - A custom EnvironmentContext.configure.process_revision_directives hook
    can now generate op directives within the UpgradeOps and DowngradeOps
    containers that will be generated as Python code even when the
    --autogenerate flag is False; provided that revision_environment=True,
    the full render operation will be run even in “offline” mode.
  - Implemented support for autogenerate detection of changes in the ondelete,
    onupdate, initially and deferrable attributes of ForeignKeyConstraint
    objects on SQLAlchemy backends that support these on reflection (as of
    SQLAlchemy 1.0.8 currently Postgresql for all four, MySQL for ondelete
    and onupdate only). A constraint object that modifies these values will
    be reported as a “diff” and come out as a drop/create of the constraint
    with the modified values. The fields are ignored for backends which
    don’t reflect these attributes (as of SQLA 1.0.8 this includes SQLite,
    Oracle, SQL Server, others).
  - Repaired the render operation for the ops.AlterColumnOp object to succeed
  when the “existing_type” field was not present.
  - Fixed a regression 0.8 whereby the “multidb” environment template failed
  to produce independent migration script segments for the output template.
  This was due to the reorganization of the script rendering system for 0.8.
  To accommodate this change, the MigrationScript structure will in the case
  of multiple calls to MigrationContext.run_migrations() produce lists for
  the MigrationScript.upgrade_ops and MigrationScript.downgrade_ops attributes;

OBS-URL: https://build.opensuse.org/request/show/327176
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-alembic?expand=0&rev=44
2015-08-26 15:43:04 +00:00

99 lines
3.3 KiB
RPMSpec

#
# spec file for package python-alembic
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: python-alembic
Version: 0.8.2
Release: 0
Url: http://bitbucket.org/zzzeek/alembic
Summary: A database migration tool for SQLAlchemy
License: MIT
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/a/alembic/alembic-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
BuildRequires: python-setuptools
# Test requirements:
BuildRequires: python-Mako
BuildRequires: python-SQLAlchemy >= 0.7.6
BuildRequires: python-argparse
BuildRequires: python-mock
BuildRequires: python-nose >= 0.11
BuildRequires: python-pytest-cov
BuildRequires: python-python-editor >= 0.3
Requires: python-Mako
Requires: python-SQLAlchemy >= 0.7.6
Requires: python-argparse
Requires: python-python-editor >= 0.3
Requires(post): /usr/sbin/update-alternatives
Requires(postun): /usr/sbin/update-alternatives
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
%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}
mv docs html && rm -rf html/build
%build
python setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
# update-alternatives
mv %{buildroot}%{_bindir}/alembic %{buildroot}%{_bindir}/alembic-%{py_ver}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/alembic
ln -sf %{_sysconfdir}/alternatives/alembic %{buildroot}%{_bindir}/alembic
%check
python setup.py test
%post
update-alternatives \
--install %{_bindir}/alembic alembic %{_bindir}/alembic-%{py_ver} 20
%postun
if [ $1 -eq 0 ] ; then
update-alternatives --remove alembic %{_bindir}/alembic-%{py_ver}
fi
%files
%defattr(-,root,root,-)
%doc CHANGES LICENSE README.rst html
%ghost %{_sysconfdir}/alternatives/alembic
%{_bindir}/alembic
%{_bindir}/alembic-%{py_ver}
%{python_sitelib}/*
%changelog