diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-10-17 09:25:04 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-10-17 09:25:04 +0000 |
commit | 848a00bce8879a6be4af0e4fad3ca1e5db4782af (patch) | |
tree | 46a7710d97ed2486e028a55263ae8dc3591a43ce | |
parent | f95cd72dd45a914047cc4f401364625435f77499 (diff) | |
parent | 436dfdc737cdd1f0d330eac7b3c61b739bf75016 (diff) | |
download | oslo-db-848a00bce8879a6be4af0e4fad3ca1e5db4782af.tar.gz |
Merge "ModelsMigrationsSync:add correct server_default check for Enum"
-rw-r--r-- | oslo/db/sqlalchemy/test_migrations.py | 6 | ||||
-rw-r--r-- | tests/sqlalchemy/test_migrations.py | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/oslo/db/sqlalchemy/test_migrations.py b/oslo/db/sqlalchemy/test_migrations.py index 307c90b..28b613f 100644 --- a/oslo/db/sqlalchemy/test_migrations.py +++ b/oslo/db/sqlalchemy/test_migrations.py @@ -475,7 +475,11 @@ class ModelsMigrationsSync(object): @_compare_server_default.dispatch_for('postgresql') def _compare_server_default(bind, meta_col, insp_def, meta_def): - if isinstance(meta_col.type, sqlalchemy.String): + if isinstance(meta_col.type, sqlalchemy.Enum): + if meta_def is None or insp_def is None: + return meta_def != insp_def + return insp_def != "'%s'::%s" % (meta_def.arg, meta_col.type.name) + elif isinstance(meta_col.type, sqlalchemy.String): if meta_def is None or insp_def is None: return meta_def != insp_def return insp_def != "'%s'::character varying" % meta_def.arg diff --git a/tests/sqlalchemy/test_migrations.py b/tests/sqlalchemy/test_migrations.py index df331d4..abb5f8a 100644 --- a/tests/sqlalchemy/test_migrations.py +++ b/tests/sqlalchemy/test_migrations.py @@ -191,6 +191,9 @@ class ModelsMigrationSyncMixin(test.BaseTestCase): sa.Column('defaulttest', sa.Integer, server_default='5'), sa.Column('defaulttest2', sa.String(8), server_default=''), sa.Column('defaulttest3', sa.String(5), server_default="test"), + sa.Column('defaulttest4', sa.Enum('first', 'second', + name='testenum'), + server_default="first"), sa.UniqueConstraint('spam', 'eggs', name='uniq_cons'), ) @@ -214,6 +217,9 @@ class ModelsMigrationSyncMixin(test.BaseTestCase): server_default='') defaulttest3 = sa.Column('defaulttest3', sa.String(5), server_default="test") + defaulttest4 = sa.Column('defaulttest4', sa.Enum('first', 'second', + name='testenum'), + server_default="first") bar = sa.Column('bar', sa.Numeric(10, 5)) class ModelThatShouldNotBeCompared(BASE): @@ -248,6 +254,9 @@ class ModelsMigrationSyncMixin(test.BaseTestCase): sa.Column('defaulttest', sa.Integer, server_default='7'), sa.Column('defaulttest2', sa.String(8), server_default=''), sa.Column('defaulttest3', sa.String(5), server_default="fake"), + sa.Column('defaulttest4', + sa.Enum('first', 'second', name='testenum'), + server_default="first"), sa.UniqueConstraint('spam', 'foo', name='uniq_cons'), ) |