Ein Revolut-Pocket bringt weder eigene IBAN noch eigenen Namen mit. Certain hielt bisher nur uid, IBAN, Name und Waehrung fest – mehrere Konten derselben Bank sahen damit gleich aus, und in der Zeile stand die rohe Kennung. Jetzt werden Produktbezeichnung und die Kennung fuer Konten ohne IBAN mitgefuehrt, der angezeigte Name faellt der Reihe nach auf Name, Details, Produkt, Kennung, IBAN zurueck statt auf die uid, und der uebermittelte Datensatz laesst sich aufklappen – nachsehen statt raten, wenn zwei Konten gleich aussehen. Beim Neuverbinden werden die Merkmale aufgefrischt, ohne die Zuordnung anzutasten. Fehlt ein Konto in der Waehrung des Bankkontos, steht das jetzt dabei; vorher war die Auswahl einfach leer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
"""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")
|