Coverage for slidge/db/alembic/versions/f213312053f2_split_contact_vcard_into_several_columns.py: 96%

23 statements  

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

1"""split contact.vcard into several columns 

2 

3Revision ID: f213312053f2 

4Revises: 1ac556b886c5 

5Create Date: 2026-09-16 21:55:26.503286 

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 = "f213312053f2" 

16down_revision: str | None = "1ac556b886c5" 

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("contact", schema=None) as batch_op: 

23 batch_op.add_column(sa.Column("full_name", sa.String(), nullable=True)) 

24 batch_op.add_column(sa.Column("birthday", sa.Date(), nullable=True)) 

25 batch_op.add_column(sa.Column("phones", sa.JSON(), nullable=True)) 

26 batch_op.add_column(sa.Column("note", sa.String(), nullable=True)) 

27 batch_op.add_column(sa.Column("url", sa.String(), nullable=True)) 

28 batch_op.add_column(sa.Column("email", sa.String(), nullable=True)) 

29 batch_op.add_column(sa.Column("country", sa.String(), nullable=True)) 

30 batch_op.add_column(sa.Column("locality", sa.String(), nullable=True)) 

31 batch_op.add_column(sa.Column("pronouns", sa.String(), nullable=True)) 

32 batch_op.drop_column("vcard") 

33 

34 contact = sa.table("contact", sa.column("vcard_fetched", sa.Boolean)) 

35 op.execute(contact.update().values(vcard_fetched=sa.false())) 

36 

37 

38def downgrade() -> None: 

39 raise RuntimeError("downgrades are not supported")