Repair include_object to accommodate new objects

The tests in tests/sqlalchemy/test_migrations.py which expect
to see changes in unique constraints fail due to the
assumption that the "include_object" feature of Alembic only
deals with the 'table' and 'column' constructs.   As Alembic
0.7.0 has added include_object support for 'index' and
'unique_constraint', this method should not be limiting
itself to not include objects that it's testing for.
Tests won't pass on Alembic 0.7.0 without this patch.

Change-Id: Ia71446bb8c0b248c6310534deb290524e3946987
This commit is contained in:
Mike Bayer 2014-11-20 20:21:06 -05:00 committed by Roman Podoliaka
parent 8c478fb986
commit 549ba15e30

@ -240,7 +240,10 @@ class ModelsMigrationSyncMixin(test.BaseTestCase):
self.metadata_migrations.create_all(bind=engine)
def include_object(self, object_, name, type_, reflected, compare_to):
return type_ == 'table' and name == 'testtbl' or type_ == 'column'
if type_ == 'table':
return name == 'testtbl'
else:
return True
def _test_models_not_sync(self):
self.metadata_migrations.clear()
@ -281,7 +284,7 @@ class ModelsMigrationSyncMixin(test.BaseTestCase):
'Models and migration scripts aren\'t in sync:'))
self.assertIn('testtbl', msg)
self.assertIn('spam', msg)
self.assertIn('eggs', msg)
self.assertIn('eggs', msg) # test that the unique constraint is added
self.assertIn('foo', msg)
self.assertIn('bar', msg)
self.assertIn('bool_wo_default', msg)