|
|
3062cca |
Combination of 0.8 compat patches.
|
|
|
3062cca |
|
|
|
3062cca |
All are currently after 0.7.2 tag at:
|
|
|
3062cca |
https://github.com/stackforge/sqlalchemy-migrate
|
|
|
3062cca |
|
|
|
3062cca |
Also included is this adjustment:
|
|
|
3062cca |
https://review.openstack.org/#/c/47847/
|
|
|
3062cca |
|
|
|
603ed1d |
diff -Naur sqlalchemy-migrate-0.7.2.orig/migrate/tests/changeset/test_changeset.py sqlalchemy-migrate-0.7.2/migrate/tests/changeset/test_changeset.py
|
|
|
603ed1d |
--- sqlalchemy-migrate-0.7.2.orig/migrate/tests/changeset/test_changeset.py 2011-10-28 15:11:43.000000000 +0000
|
|
|
603ed1d |
+++ sqlalchemy-migrate-0.7.2/migrate/tests/changeset/test_changeset.py 2013-03-11 11:45:29.066638792 +0000
|
|
|
603ed1d |
@@ -560,7 +560,7 @@
|
|
|
603ed1d |
self.table.drop()
|
|
|
603ed1d |
try:
|
|
|
603ed1d |
self.table.create()
|
|
|
603ed1d |
- except sqlalchemy.exceptions.SQLError, e:
|
|
|
603ed1d |
+ except sqlalchemy.exc.SQLError, e:
|
|
|
603ed1d |
# SQLite: database schema has changed
|
|
|
603ed1d |
if not self.url.startswith('sqlite://'):
|
|
|
603ed1d |
raise
|
|
|
603ed1d |
@@ -569,7 +569,7 @@
|
|
|
603ed1d |
if self.table.exists():
|
|
|
603ed1d |
try:
|
|
|
603ed1d |
self.table.drop(self.engine)
|
|
|
603ed1d |
- except sqlalchemy.exceptions.SQLError,e:
|
|
|
603ed1d |
+ except sqlalchemy.exc.SQLError,e:
|
|
|
603ed1d |
# SQLite: database schema has changed
|
|
|
603ed1d |
if not self.url.startswith('sqlite://'):
|
|
|
603ed1d |
raise
|
|
|
603ed1d |
diff -Naur sqlalchemy-migrate-0.7.2.orig/migrate/versioning/schema.py sqlalchemy-migrate-0.7.2/migrate/versioning/schema.py
|
|
|
603ed1d |
--- sqlalchemy-migrate-0.7.2.orig/migrate/versioning/schema.py 2011-10-28 15:11:43.000000000 +0000
|
|
|
603ed1d |
+++ sqlalchemy-migrate-0.7.2/migrate/versioning/schema.py 2013-03-11 11:44:45.769557705 +0000
|
|
|
603ed1d |
@@ -7,7 +7,7 @@
|
|
|
603ed1d |
from sqlalchemy import (Table, Column, MetaData, String, Text, Integer,
|
|
|
603ed1d |
create_engine)
|
|
|
603ed1d |
from sqlalchemy.sql import and_
|
|
|
603ed1d |
-from sqlalchemy import exceptions as sa_exceptions
|
|
|
603ed1d |
+from sqlalchemy import exc as sa_exceptions
|
|
|
603ed1d |
from sqlalchemy.sql import bindparam
|
|
|
603ed1d |
|
|
|
603ed1d |
from migrate import exceptions
|
|
|
3062cca |
diff -Naur sqlalchemy-migrate-0.7.2.orig/migrate/changeset/ansisql.py sqlalchemy-migrate-0.7.2/migrate/changeset/ansisql.py
|
|
|
3062cca |
--- sqlalchemy-migrate-0.7.2.orig/migrate/changeset/ansisql.py 2011-10-28 15:11:43.000000000 +0000
|
|
|
3062cca |
+++ sqlalchemy-migrate-0.7.2/migrate/changeset/ansisql.py 2013-09-23 11:34:18.656844658 +0000
|
|
|
3062cca |
@@ -171,8 +171,8 @@
|
|
|
3062cca |
self.preparer.quote(
|
|
|
3062cca |
self._validate_identifier(
|
|
|
3062cca |
index.new_name, True), index.quote)))
|
|
|
3062cca |
- else:
|
|
|
3062cca |
- # SA >= 0.6.5
|
|
|
3062cca |
+ elif hasattr(self, '_index_identifier'):
|
|
|
3062cca |
+ # SA >= 0.6.5, < 0.8
|
|
|
3062cca |
self.append("ALTER INDEX %s RENAME TO %s" % (
|
|
|
3062cca |
self.preparer.quote(
|
|
|
3062cca |
self._index_identifier(
|
|
|
3062cca |
@@ -180,6 +180,22 @@
|
|
|
3062cca |
self.preparer.quote(
|
|
|
3062cca |
self._index_identifier(
|
|
|
3062cca |
index.new_name), index.quote)))
|
|
|
3062cca |
+ else:
|
|
|
3062cca |
+ # SA >= 0.8
|
|
|
3062cca |
+ class NewName(object):
|
|
|
3062cca |
+ """Map obj.name -> obj.new_name"""
|
|
|
3062cca |
+ def __init__(self, index):
|
|
|
3062cca |
+ self.name = index.new_name
|
|
|
3062cca |
+ self._obj = index
|
|
|
3062cca |
+
|
|
|
3062cca |
+ def __getattr__(self, attr):
|
|
|
3062cca |
+ if attr == 'name':
|
|
|
3062cca |
+ return getattr(self, attr)
|
|
|
3062cca |
+ return getattr(self._obj, attr)
|
|
|
3062cca |
+
|
|
|
3062cca |
+ self.append("ALTER INDEX %s RENAME TO %s" % (
|
|
|
3062cca |
+ self._prepared_index_name(index),
|
|
|
3062cca |
+ self._prepared_index_name(NewName(index))))
|
|
|
3062cca |
self.execute()
|
|
|
3062cca |
|
|
|
3062cca |
def visit_column(self, delta):
|
|
|
3062cca |
diff -Naur sqlalchemy-migrate-0.7.2.orig_reflect/migrate/tests/fixture/database.py sqlalchemy-migrate-0.7.2.reflect/migrate/tests/fixture/database.py
|
|
|
3062cca |
--- sqlalchemy-migrate-0.7.2.orig_reflect/migrate/tests/fixture/database.py 2011-10-28 15:11:43.000000000 +0000
|
|
|
3062cca |
+++ sqlalchemy-migrate-0.7.2.reflect/migrate/tests/fixture/database.py 2013-09-23 12:20:26.022608233 +0000
|
|
|
3062cca |
@@ -128,7 +128,8 @@
|
|
|
3062cca |
def _setup(self, url):
|
|
|
3062cca |
self._connect(url)
|
|
|
3062cca |
# make sure there are no tables lying around
|
|
|
3062cca |
- meta = MetaData(self.engine, reflect=True)
|
|
|
3062cca |
+ meta = MetaData(self.engine)
|
|
|
3062cca |
+ meta.reflect()
|
|
|
3062cca |
meta.drop_all()
|
|
|
3062cca |
|
|
|
3062cca |
def _teardown(self):
|
|
|
3062cca |
diff -Naur sqlalchemy-migrate-0.7.2.orig_reflect/migrate/tests/versioning/test_genmodel.py sqlalchemy-migrate-0.7.2.reflect/migrate/tests/versioning/test_genmodel.py
|
|
|
3062cca |
--- sqlalchemy-migrate-0.7.2.orig_reflect/migrate/tests/versioning/test_genmodel.py 2011-10-28 15:11:43.000000000 +0000
|
|
|
3062cca |
+++ sqlalchemy-migrate-0.7.2.reflect/migrate/tests/versioning/test_genmodel.py 2013-09-23 12:21:42.254900961 +0000
|
|
|
3062cca |
@@ -18,9 +18,11 @@
|
|
|
3062cca |
|
|
|
3062cca |
def _setup(self, url):
|
|
|
3062cca |
super(TestSchemaDiff, self)._setup(url)
|
|
|
3062cca |
- self.meta = MetaData(self.engine, reflect=True)
|
|
|
3062cca |
+ self.meta = MetaData(self.engine)
|
|
|
3062cca |
+ self.meta.reflect()
|
|
|
3062cca |
self.meta.drop_all() # in case junk tables are lying around in the test database
|
|
|
3062cca |
- self.meta = MetaData(self.engine, reflect=True) # needed if we just deleted some tables
|
|
|
3062cca |
+ self.meta = MetaData(self.engine) # needed if we just deleted some tables
|
|
|
3062cca |
+ self.meta.reflect()
|
|
|
3062cca |
self.table = Table(self.table_name, self.meta,
|
|
|
3062cca |
Column('id',Integer(), primary_key=True),
|
|
|
3062cca |
Column('name', UnicodeText()),
|
|
|
3062cca |
@@ -29,7 +31,8 @@
|
|
|
3062cca |
|
|
|
3062cca |
def _teardown(self):
|
|
|
3062cca |
if self.table.exists():
|
|
|
3062cca |
- self.meta = MetaData(self.engine, reflect=True)
|
|
|
3062cca |
+ self.meta = MetaData(self.engine)
|
|
|
3062cca |
+ self.meta.reflect()
|
|
|
3062cca |
self.meta.drop_all()
|
|
|
3062cca |
super(TestSchemaDiff, self)._teardown()
|
|
|
3062cca |
|
|
|
3062cca |
diff -Naur sqlalchemy-migrate-0.7.2.orig_reflect/migrate/tests/versioning/test_shell.py sqlalchemy-migrate-0.7.2.reflect/migrate/tests/versioning/test_shell.py
|
|
|
3062cca |
--- sqlalchemy-migrate-0.7.2.orig_reflect/migrate/tests/versioning/test_shell.py 2013-09-11 23:46:46.288846726 +0000
|
|
|
3062cca |
+++ sqlalchemy-migrate-0.7.2.reflect/migrate/tests/versioning/test_shell.py 2013-09-23 12:20:41.229666598 +0000
|
|
|
3062cca |
@@ -461,7 +461,7 @@
|
|
|
3062cca |
old_model_module = 'migrate.tests.fixture.models:meta_old_rundiffs'
|
|
|
3062cca |
|
|
|
3062cca |
# Create empty repository.
|
|
|
3062cca |
- self.meta = MetaData(self.engine, reflect=True)
|
|
|
3062cca |
+ self.meta = MetaData(self.engine)
|
|
|
3062cca |
self.meta.reflect()
|
|
|
3062cca |
self.meta.drop_all() # in case junk tables are lying around in the test database
|
|
|
3062cca |
|
|
|
3062cca |
diff -Naur sqlalchemy-migrate-0.7.2.orig_reflect/migrate/versioning/schemadiff.py sqlalchemy-migrate-0.7.2.reflect/migrate/versioning/schemadiff.py
|
|
|
3062cca |
--- sqlalchemy-migrate-0.7.2.orig_reflect/migrate/versioning/schemadiff.py 2011-10-28 15:11:43.000000000 +0000
|
|
|
3062cca |
+++ sqlalchemy-migrate-0.7.2.reflect/migrate/versioning/schemadiff.py 2013-09-23 12:20:06.302532576 +0000
|
|
|
3062cca |
@@ -16,7 +16,8 @@
|
|
|
3062cca |
:return: object which will evaluate to :keyword:`True` if there \
|
|
|
3062cca |
are differences else :keyword:`False`.
|
|
|
3062cca |
"""
|
|
|
3062cca |
- db_metadata = sqlalchemy.MetaData(engine, reflect=True)
|
|
|
3062cca |
+ db_metadata = sqlalchemy.MetaData(engine)
|
|
|
3062cca |
+ db_metadata.reflect()
|
|
|
3062cca |
|
|
|
3062cca |
# sqlite will include a dynamically generated 'sqlite_sequence' table if
|
|
|
3062cca |
# there are autoincrement sequences in the database; this should not be
|