"""Zu welchem Budget-Monat eine Buchung gehoert. Bisher entschied allein das Datum. Bei einem Budget-Monat, der nicht am Ersten beginnt, faellt das auf: Die Miete geht am 24. ab und gehoert doch zum naechsten Monat, die Rechnung wird verspaetet bezahlt und gehoert zum letzten. Leer heisst weiterhin "aus dem Datum" – das ist der Normalfall und bleibt es. Deshalb genuegt eine Spalte ohne Vorbelegung: Alles Bestehende rechnet danach genau wie vorher. Revision ID: 0026 Revises: 0025 """ import sqlalchemy as sa from alembic import op revision = "0026" down_revision = "0025" branch_labels = None depends_on = None def upgrade() -> None: with op.batch_alter_table("transactions") as batch: batch.add_column(sa.Column("budget_period", sa.String(length=7), nullable=True)) batch.create_index("ix_transactions_budget_period", ["budget_period"]) def downgrade() -> None: with op.batch_alter_table("transactions") as batch: batch.drop_index("ix_transactions_budget_period") batch.drop_column("budget_period")