diff --git a/libervia/backend/memory/migration/versions/007439b3b0ce_add_pep_to_pubsubnode.py b/libervia/backend/memory/migration/versions/007439b3b0ce_add_pep_to_pubsubnode.py index 531a1dcf..04524e3f 100644 --- a/libervia/backend/memory/migration/versions/007439b3b0ce_add_pep_to_pubsubnode.py +++ b/libervia/backend/memory/migration/versions/007439b3b0ce_add_pep_to_pubsubnode.py @@ -21,7 +21,7 @@ def upgrade(): batch_op.add_column( sa.Column( "pep", - sa.Boolean(create_constraint=True), + sa.Boolean(create_constraint=True, name="pep_bool"), server_default=sa.text("0"), nullable=False, ) diff --git a/libervia/backend/memory/migration/versions/f4cb5fc600c7_add_missing_pep_check_constraint.py b/libervia/backend/memory/migration/versions/f4cb5fc600c7_add_missing_pep_check_constraint.py new file mode 100644 index 00000000..91b3cbce --- /dev/null +++ b/libervia/backend/memory/migration/versions/f4cb5fc600c7_add_missing_pep_check_constraint.py @@ -0,0 +1,40 @@ +"""add missing pep check constraint + +Revision ID: f4cb5fc600c7 +Revises: ccd879fef17e +Create Date: 2026-06-20 10:07:46.457551 + +""" + +from alembic import op +from sqlalchemy import inspect + +# revision identifiers, used by Alembic. +revision = "f4cb5fc600c7" +down_revision = "ccd879fef17e" +branch_labels = None +depends_on = None + + +def _existing_check_constraints(table_name: str) -> set[str | None]: + insp = inspect(op.get_bind()) + return {c["name"] for c in insp.get_check_constraints(table_name) if c.get("name")} + + +def upgrade(): + existing = _existing_check_constraints("pubsub_nodes") + + if "ck_pubsub_nodes_pep_bool" not in existing: + with op.batch_alter_table("pubsub_nodes") as batch_op: + batch_op.create_check_constraint( + "ck_pubsub_nodes_pep_bool", + "pep IN (0, 1)", + ) + + +def downgrade(): + existing = _existing_check_constraints("pubsub_nodes") + + if "ck_pubsub_nodes_pep_bool" in existing: + with op.batch_alter_table("pubsub_nodes") as batch_op: + batch_op.drop_constraint("ck_pubsub_nodes_pep_bool", type_="check") diff --git a/libervia/backend/memory/sqla_mapping.py b/libervia/backend/memory/sqla_mapping.py index 7bcc35dc..efaee88f 100644 --- a/libervia/backend/memory/sqla_mapping.py +++ b/libervia/backend/memory/sqla_mapping.py @@ -629,7 +629,7 @@ class PubsubNode(Base): service = Column(JID) name = Column(Text, nullable=False) pep = Column( - Boolean(create_constraint=True), + Boolean(create_constraint=True, name="pep_bool"), nullable=False, server_default=false(), )