Files
certain/backend/migrations/versions/0037_dublette_ist_in_ordnung.py
T
ScarriffleandClaude Opus 5 b867b272ba feat: Gleich aussehende Buchungen lassen sich behalten, statt loeschen zu muessen
Die Liste sagt ausdruecklich, dass sie nichts entscheidet: Drei
Aufrundungen ueber 1.00 am selben Tag sind echt, drei gleiche Einkaeufe
koennen es auch sein – das weiss nur der Nutzer. Dann darf sie aber auch
nicht zu einer Entscheidung draengen, und genau das tat sie: Der einzige
Knopf war der Papierkorb. Wer die Meldung loswerden wollte, musste eine
richtige Buchung wegwerfen.

Jetzt steht neben jeder Gruppe "Alle behalten". An den Buchungen aendert
sich dabei nichts; es ist ein Haken an der Frage.

Der Haken gilt dem, was man gesehen hat – nicht allem, was noch kommt:
Eine Gruppe faellt erst weg, wenn ALLE ihre Zeilen ihn tragen. Kommt
spaeter eine dritte gleich aussehende Buchung dazu, steht die Frage
wieder da, und zwar fuer alle drei. Ein Test haelt das fest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-15 10:33:44 +02:00

33 lines
955 B
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""„Sieht gleich aus, ist aber richtig so."
Die Dubletten-Liste konnte man bisher nur leeren, indem man loeschte. Drei
Aufrundungen ueber 1.00 am selben Tag sind aber echt – wer das entschieden
hat, soll nicht bei jedem Blick erneut gefragt und zum Loeschen gedraengt
werden.
Die Buchung bleibt unveraendert; das ist nur ein Haken an der Frage.
Revision ID: 0037
Revises: 0036
"""
import sqlalchemy as sa
from alembic import op
revision = "0037"
down_revision = "0036"
branch_labels = None
depends_on = None
def upgrade() -> None:
# Ohne batch_alter_table, wie 0034-0036: Eine Spalte anhaengen kann SQLite
# direkt, der Tabellen-Umbau risse ueber ON DELETE CASCADE haengende
# Zeilen mit (tests/test_migrations.py).
op.execute(sa.text(
"ALTER TABLE transactions ADD COLUMN duplicate_ok BOOLEAN NOT NULL DEFAULT 0"))
def downgrade() -> None:
op.execute(sa.text("ALTER TABLE transactions DROP COLUMN duplicate_ok"))