From 2d9aac9f28984c774d030d8a192f5d2c9b14e007 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Wed, 6 Sep 2017 06:54:00 -0600 Subject: alembic: Fix enum creation for dtls_fingerprint Change-Id: Ic061c5066a146616a68376881c7e4cf6d6e7e7db --- ...b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'contrib/ast-db-manage/config/versions') diff --git a/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py b/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py index 0efefa2fd..3d4f74de5 100644 --- a/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py +++ b/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py @@ -14,10 +14,25 @@ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects.postgresql import ENUM +SHA_HASH_NAME = 'sha_hash_values' SHA_HASH_VALUES = ['SHA-1', 'SHA-256'] def upgrade(): - op.add_column('ps_endpoints', sa.Column('dtls_fingerprint', sa.Enum(*SHA_HASH_VALUES, name='sha_hash_values'))) + context = op.get_context() + + if context.bind.dialect.name == 'postgresql': + enum = ENUM(*SHA_HASH_VALUES, name=SHA_HASH_NAME) + enum.create(op.get_bind(), checkfirst=False) + + op.add_column('ps_endpoints', + sa.Column('dtls_fingerprint', ENUM(*SHA_HASH_VALUES, + name=SHA_HASH_NAME, create_type=False))) def downgrade(): + context = op.get_context() + op.drop_column('ps_endpoints', 'dtls_fingerprint') + + if context.bind.dialect.name == 'postgresql': + enum = ENUM(*SHA_HASH_VALUES, name=SHA_HASH_NAME) + enum.drop(op.get_bind(), checkfirst=False) -- cgit v1.2.3