forked from pool/python-alembic
- 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
99 lines
3.3 KiB
RPMSpec
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.0
|
|
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
|