]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
alembic: Correct NULLability of PJSIP id columns.
authorSean Bright <sean@seanbright.com>
Sat, 6 Apr 2024 13:57:43 +0000 (09:57 -0400)
committerSean Bright <sean@seanbright.com>
Tue, 9 Apr 2024 20:13:24 +0000 (20:13 +0000)
Fixes #695

contrib/ast-db-manage/config/versions/6c475a93f48a_correct_nullability_of_pjsip_id_columns.py [new file with mode: 0644]

diff --git a/contrib/ast-db-manage/config/versions/6c475a93f48a_correct_nullability_of_pjsip_id_columns.py b/contrib/ast-db-manage/config/versions/6c475a93f48a_correct_nullability_of_pjsip_id_columns.py
new file mode 100644 (file)
index 0000000..df676ce
--- /dev/null
@@ -0,0 +1,38 @@
+"""correct nullability of pjsip id columns
+
+Revision ID: 6c475a93f48a
+Revises: d5122576cca8
+Create Date: 2024-04-06 09:48:33.116410
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '6c475a93f48a'
+down_revision = 'd5122576cca8'
+
+from alembic import op
+import sqlalchemy as sa
+
+PJSIP_TABLES = [ 'ps_aors',
+                 'ps_auths',
+                 'ps_domain_aliases',
+                 'ps_endpoint_id_ips',
+                 'ps_endpoints',
+                 'ps_inbound_publications',
+                 'ps_outbound_publishes',
+                 'ps_registrations' ]
+
+def upgrade():
+    for table_name in PJSIP_TABLES:
+        with op.batch_alter_table(table_name) as batch_op:
+            batch_op.alter_column('id', nullable=False,
+                                  existing_type=sa.String(255), existing_server_default=None,
+                                  existing_nullable=True)
+
+
+def downgrade():
+    for table_name in reversed(PJSIP_TABLES):
+        with op.batch_alter_table(table_name) as batch_op:
+            batch_op.alter_column('id', nullable=True,
+                                  existing_type=sa.String(255), existing_server_default=None,
+                                  existing_nullable=True)