forked from pool/python-alembic
- update to 0.8.5:
- Fixed bug where the columns rendered in a ``PrimaryKeyConstraint``
in autogenerate would inappropriately render the "key" of the
column, not the name. Pull request courtesy Jesse Dhillon.
- Repaired batch migration support for "schema" types which generate
constraints, in particular the ``Boolean`` datatype which generates
a CHECK constraint. Previously, an alter column operation with this
type would fail to correctly accommodate for the CHECK constraint
on change both from and to this type. In the former case the operation
would fail entirely, in the latter, the CHECK constraint would
not get generated. Both of these issues are repaired.
- Changing a schema type such as ``Boolean`` to a non-schema type would
emit a drop constraint operation which emits ``NotImplementedError`` for
the MySQL dialect. This drop constraint operation is now skipped when
the constraint originates from a schema type.
- A major improvement to the hash id generation function, which for some
reason used an awkward arithmetic formula against uuid4() that produced
values that tended to start with the digits 1-4. Replaced with a
simple substring approach which provides an even distribution. Pull
request courtesy Antti Haapala.
- Added an autogenerate renderer for the :class:`.ExecuteSQLOp` operation
object; only renders if given a plain SQL string, otherwise raises
NotImplementedError. Can be of help with custom autogenerate
sequences that includes straight SQL execution. Pull request courtesy
Jacob Magnusson.
- Batch mode generates a FOREIGN KEY constraint that is self-referential
using the ultimate table name, rather than ``_alembic_batch_temp``.
When the table is renamed from ``_alembic_batch_temp`` back to the
original name, the FK now points to the right name. This
will **not** work if referential integrity is being enforced (eg. SQLite
OBS-URL: https://build.opensuse.org/request/show/385578
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-alembic?expand=0&rev=46
99 lines
3.3 KiB
RPMSpec
99 lines
3.3 KiB
RPMSpec
#
|
|
# spec file for package python-alembic
|
|
#
|
|
# Copyright (c) 2016 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.5
|
|
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
|