"""add_messages_visibility_mask Revision ID: 20260319_0003 Revises: 202603190002 Create Date: 2026-03-19 18:10:00 """ from typing import Sequence from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = "20260319_0003" down_revision: str | Sequence[str] | None = "202603190002" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: op.add_column( "messages", sa.Column( "visibility_mask", sa.BigInteger(), nullable=False, server_default=sa.text("0"), ), ) op.create_index( "ix_messages_session_seq_visibility", "messages", ["session_id", "seq", "visibility_mask"], unique=False, ) op.execute("UPDATE messages SET visibility_mask = 1 WHERE visibility_mask = 0") def downgrade() -> None: op.drop_index("ix_messages_session_seq_visibility", table_name="messages") op.drop_column("messages", "visibility_mask")