"""Merkmale, an denen sich ein Bankkonto erkennen laesst. Ein Revolut-Pocket hat keine eigene IBAN und oft keinen eigenen Namen. Bisher hielt Certain nur uid, IBAN, Name und Waehrung fest – drei Pockets sahen damit gleich aus und liessen sich nicht auseinanderhalten, geschweige denn zuordnen. ``product`` ist die Produktbezeichnung der Bank (bei Revolut unterscheidet sie Konto und Pocket), ``other_id`` die Kennung fuer Konten ohne IBAN, und ``raw_json`` alles Uebrige, wie es kam – damit man nachsehen kann, statt zu raten, was die Bank eigentlich geschickt hat. Revision ID: 0022 Revises: 0021 """ import sqlalchemy as sa from alembic import op revision = "0022" down_revision = "0021" branch_labels = None depends_on = None def upgrade() -> None: with op.batch_alter_table("bank_account_links") as b: b.add_column(sa.Column("product", sa.String(length=120), nullable=True)) b.add_column(sa.Column("other_id", sa.String(length=128), nullable=True)) b.add_column(sa.Column("raw_json", sa.Text(), nullable=True)) def downgrade() -> None: with op.batch_alter_table("bank_account_links") as b: b.drop_column("raw_json") b.drop_column("other_id") b.drop_column("product")