Coverage for slidge/db/alembic/versions/86d980dbb426_add_displayed_by_user_column_to_.py: 87%
15 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-18 04:30 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-18 04:30 +0000
1"""Add 'displayed_by_user' column to ArchivedMessage, for xmpp.MARK_ALL_MESSAGES
3Revision ID: 86d980dbb426
4Revises: 259a1b71eadf
5Create Date: 2025-12-02 20:47:51.919688
7"""
9from collections.abc import Sequence
11import sqlalchemy as sa
12from alembic import op
14# revision identifiers, used by Alembic.
15revision: str = "86d980dbb426"
16down_revision: str | None = "259a1b71eadf"
17branch_labels: str | Sequence[str] | None = None
18depends_on: str | Sequence[str] | None = None
21def upgrade() -> None:
22 with op.batch_alter_table("mam", schema=None) as batch_op:
23 batch_op.add_column(sa.Column("displayed_by_user", sa.Boolean()))
24 # Set all existing rows to displayed, to avoid sending large busts of read markers
25 # for messages archived before the introduction of the new column.
26 mam = sa.table("mam", sa.column("displayed_by_user", sa.Boolean()))
27 op.execute(mam.update().values(displayed_by_user=True))
30def downgrade() -> None:
31 with op.batch_alter_table("mam", schema=None) as batch_op:
32 batch_op.drop_column("displayed_by_user")