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

1"""ditch group_thread table 

2 

3Revision ID: 3522b8332a41 

4Revises: f91200fe83e4 

5Create Date: 2026-09-15 21:29:14.720731 

6 

7""" 

8 

9from collections.abc import Sequence 

10 

11import sqlalchemy as sa 

12from alembic import op 

13 

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 

19 

20 

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)) 

24 

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 ) 

35 

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")) 

38 

39 op.drop_table("group_thread") 

40 

41 

42def downgrade() -> None: 

43 raise RuntimeError("downgrades are not supported")