Coverage for slidge/db/alembic/versions/83bd572c8161_remove_useless_group_msg_table.py: 93%

15 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-09-29 05:05 +0000

1"""remove useless 'group_msg' table 

2 

3Revision ID: 83bd572c8161 

4Revises: cffa7d2eb078 

5Create Date: 2026-09-05 10:00:14.625723 

6 

7""" 

8 

9from collections.abc import Sequence 

10 

11from alembic import op 

12 

13# revision identifiers, used by Alembic. 

14revision: str = "83bd572c8161" 

15down_revision: str | None = "cffa7d2eb078" 

16branch_labels: str | Sequence[str] | None = None 

17depends_on: str | Sequence[str] | None = None 

18 

19 

20def upgrade() -> None: 

21 with op.batch_alter_table("mam", schema=None) as batch_op: 

22 batch_op.create_index( 

23 "ix_mam_room_id_legacy_id", 

24 ["room_id", "legacy_id"], 

25 unique=False, 

26 ) 

27 

28 op.execute( 

29 """ 

30 UPDATE mam 

31 SET legacy_id = group_msg.legacy_id 

32 FROM group_msg 

33 WHERE group_msg.xmpp_id = mam.stanza_id 

34 AND group_msg.foreign_key = mam.room_id 

35 """ 

36 ) 

37 

38 with op.batch_alter_table("group_msg", schema=None) as batch_op: 

39 batch_op.drop_index(batch_op.f("ix_group_msg_legacy_id")) 

40 

41 op.drop_table("group_msg") 

42 

43 

44def downgrade() -> None: 

45 raise RuntimeError("downgrades are not supported")