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
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-29 05:05 +0000
1"""split contact.vcard into several columns
3Revision ID: f213312053f2
4Revises: 1ac556b886c5
5Create Date: 2026-09-16 21:55:26.503286
7"""
9from collections.abc import Sequence
11import sqlalchemy as sa
12from alembic import op
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
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")
34 contact = sa.table("contact", sa.column("vcard_fetched", sa.Boolean))
35 op.execute(contact.update().values(vcard_fetched=sa.false()))
38def downgrade() -> None:
39 raise RuntimeError("downgrades are not supported")