Roman Podolyaka 2485118c24 Fix dropping of indexed columns in sqlite/sa08
Version 0.8 of SQLAlchemy added support of indexes
on expressions in addition to plain table columns,
which changed the way indexes are created.

This broke support of dropping columns of composite
indexes for SQLite: due to limitations of ALTER in
SQLite every time a column is dropped, we recreate
the whole table without the given column; if a
column is a part of a composite index, we change the
index definition to omit that column and then indexes
are recreated too.

SQLAlchemy versions starting from 0.8 no more pay
attention to 'columns' attribute of Index instances
when generating DDL for indexes, so when one of columns
of a composite index is dropped, we try to create a
new index on the column that doesn't exist anymore,
which of course fails.

Closes-Bug: #1241038

Change-Id: I777b8ce36e36f49bfb0889908811a063cf1a527b
2013-10-18 16:09:16 +03:00
2013-07-11 16:54:46 -04:00
2013-07-11 16:54:46 -04:00
2010-07-08 19:16:22 +02:00
2013-07-12 10:53:37 -04:00
2013-07-11 16:54:46 -04:00
2013-07-11 17:07:04 -04:00
2013-10-07 12:02:24 -04:00
2013-10-07 12:02:24 -04:00
2013-07-11 16:54:46 -04:00
2013-10-12 07:04:33 +00:00

sqlalchemy-migrate

Fork from http://code.google.com/p/sqlalchemy-migrate/ to get it working with SQLAlchemy 0.8.

Inspired by Ruby on Rails' migrations, Migrate provides a way to deal with database schema changes in SQLAlchemy projects.

Migrate extends SQLAlchemy to have database changeset handling. It provides a database change repository mechanism which can be used from the command line as well as from inside python code.

Help

Sphinx documentation is available at the project page packages.python.org.

Users and developers can be found at #sqlalchemy-migrate on Freenode IRC network and at the public users mailing list migrate-users.

New releases and major changes are announced at the public announce mailing list migrate-announce and at the Python package index sqlalchemy-migrate.

Homepage is located at stackforge

You can also clone a current development version

Tests and Bugs

To run automated tests:

  • Copy test_db.cfg.tmpl to test_db.cfg
  • Edit test_db.cfg with database connection strings suitable for running tests. (Use empty databases.)
  • $ pip install -r requirements.txt -r test-requirements.txt
  • $ python setup.py develop
  • $ testr run --parallel

Please report any issues with sqlalchemy-migrate to the issue tracker at code.google.com issues

Description
Database schema migration for SQLAlchemy
Readme 2.3 MiB
Languages
Python 99.3%
Shell 0.7%