forked from pool/python-alembic
- 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
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.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
|