Coverage for slidge/db/alembic/versions/3522b8332a41_ditch_group_thread_table.py: 94%
16 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-29 05:05 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-29 05:05 +0000
1"""ditch group_thread table
3Revision ID: 3522b8332a41
4Revises: f91200fe83e4
5Create Date: 2026-09-15 21:29:14.720731
7"""
9from collections.abc import Sequence
11import sqlalchemy as sa
12from alembic import op
14# revision identifiers, used by Alembic.
15revision: str = "3522b8332a41"
16down_revision: str | None = "f91200fe83e4"
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("thread_legacy_id", sa.String(), nullable=True))
25 op.execute(
26 """
27 UPDATE mam
28 SET thread_legacy_id = group_thread.legacy_id
29 FROM group_thread
30 WHERE group_thread.xmpp_id = mam.thread
31 AND group_thread.foreign_key = mam.room_id
32 AND group_thread.xmpp_id != group_thread.legacy_id
33 """
34 )
36 with op.batch_alter_table("group_thread", schema=None) as batch_op:
37 batch_op.drop_index(batch_op.f("ix_direct_group_thread_id"))
39 op.drop_table("group_thread")
42def downgrade() -> None:
43 raise RuntimeError("downgrades are not supported")