From 6a1c313facbc6217122d28695dd439c97f91d906 Mon Sep 17 00:00:00 2001
From: Florian Floimair <f.floimair@commend.com>
Date: Tue, 18 Sep 2018 16:39:05 +0200
Subject: [PATCH] alembic: fix suppress_q850_reason_headers column name

In the original commit introducing the feature the column in the alembic
script was called 'suppress_q850_reason_header'.
In the code however the option is called 'suppress_q850_reason_headers'
(trailing 's'). This leads to errors when ARI push configuration is used.

Change-Id: Ie84808adbca6fcc9136556e4f5d741adbef5d14f
---
 ...44c775_fix_suppress_q850_reason_headers.py | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 contrib/ast-db-manage/config/versions/7f85dd44c775_fix_suppress_q850_reason_headers.py

diff --git a/contrib/ast-db-manage/config/versions/7f85dd44c775_fix_suppress_q850_reason_headers.py b/contrib/ast-db-manage/config/versions/7f85dd44c775_fix_suppress_q850_reason_headers.py
new file mode 100644
index 0000000000..911349fe9d
--- /dev/null
+++ b/contrib/ast-db-manage/config/versions/7f85dd44c775_fix_suppress_q850_reason_headers.py
@@ -0,0 +1,43 @@
+"""fix suppress_q850_reason_headers
+
+Revision ID: 7f85dd44c775
+Revises: fe6592859b85
+Create Date: 2018-09-18 16:16:29.304815
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '7f85dd44c775'
+down_revision = 'fe6592859b85'
+
+from alembic import op
+import sqlalchemy as sa
+from sqlalchemy.dialects.postgresql import ENUM
+
+YESNO_NAME = 'yesno_values'
+YESNO_VALUES = ['yes', 'no']
+
+
+def upgrade():
+    yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
+
+    if op.get_context().bind.dialect.name != 'mssql':
+        op.alter_column('ps_endpoints', 'suppress_q850_reason_header', type_=yesno_values,
+                        new_column_name='suppress_q850_reason_headers')
+    else:
+        op.alter_column('ps_endpoints', 'suppress_q850_reason_header', existing_type=yesno_values, type_=sa.String(3),
+                        new_column_name='suppress_q850_reason_headers')
+        yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=True)
+        op.alter_column('ps_endpoints', 'suppress_q850_reason_headers', existing_type=sa.String(3), type_=yesno_values)
+
+
+def downgrade():
+    yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
+    if op.get_context().bind.dialect.name != 'mssql':
+        op.alter_column('ps_endpoints', 'suppress_q850_reason_headers', type_=yesno_values,
+                        new_column_name='suppress_q850_reason_header')
+    else:
+        op.alter_column('ps_endpoints', 'suppress_q850_reason_headers', existing_type=yesno_values, type_=sa.String(3),
+                        new_column_name='suppress_q850_reason_header')
+        yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=True)
+        op.alter_column('ps_endpoints', 'suppress_q850_reason_header', existing_type=sa.String(3), type_=yesno_values)
\ No newline at end of file
-- 
GitLab