Coverage for slidge/db/alembic/versions/5dd33faac9e0_space_creator_pk_creator_id.py: 95%

19 statements  

« prev     ^ index     » next       coverage.py v7.17.0, created at 2026-11-10 12:26 +0000

1"""space.creator_pk→creator_id 

2 

3Revision ID: 5dd33faac9e0 

4Revises: 431bec3fe41c 

5Create Date: 2026-10-24 07:06:56.409208 

6 

7""" 

8 

9from collections.abc import Sequence 

10 

11import sqlalchemy as sa 

12from alembic import op 

13 

14from slidge.db.meta import JSONEncodedDict 

15 

16# revision identifiers, used by Alembic. 

17revision: str = "5dd33faac9e0" 

18down_revision: str | None = "431bec3fe41c" 

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

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

21 

22 

23def upgrade() -> None: 

24 op.execute("DELETE FROM space_owner_association") 

25 op.execute("DELETE FROM space") 

26 with op.batch_alter_table("space", schema=None) as batch_op: 

27 batch_op.add_column(sa.Column("creator_id", sa.Integer(), nullable=True)) 

28 batch_op.add_column( 

29 sa.Column("extra_attributes", JSONEncodedDict(), nullable=True) 

30 ) 

31 batch_op.drop_constraint( 

32 batch_op.f("fk_space_creator_pk_contact"), type_="foreignkey" 

33 ) 

34 batch_op.create_foreign_key( 

35 batch_op.f("fk_space_creator_id_contact"), "contact", ["creator_id"], ["id"] 

36 ) 

37 batch_op.drop_column("creator_pk") 

38 

39 

40def downgrade() -> None: 

41 raise RuntimeError("downgrades are not supported")