"""objekt.gezogen_von_objekt_id -> fahrzeug_id (Umbenennung, gleiche Semantik) Revision ID: 0010_objekt_kopplung Revises: 0009_gezogen_von Create Date: 2026-09-05 Nutzer-Klarstellung zu Migration 0009: es geht nicht spezifisch um Anhänger- Zugfahrzeug-Kopplung, sondern allgemein um die Zuordnung eines Objekts (Rucksack, Gerät, Anhänger, ...) zu genau einem Fahrzeug (1:n, ein Objekt gehört jederzeit höchstens einem Fahrzeug). Strukturell identisch mit 0009, nur die Spalte/Constraint/Index sauberer benannt statt "gezogen_von". """ from typing import Sequence, Union from alembic import op revision: str = "0010_objekt_kopplung" down_revision: Union[str, None] = "0009_gezogen_von" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.execute("ALTER TABLE objekt RENAME COLUMN gezogen_von_objekt_id TO fahrzeug_id") op.execute("ALTER INDEX idx_objekt_gezogen_von RENAME TO idx_objekt_fahrzeug") op.execute( "ALTER TABLE objekt RENAME CONSTRAINT objekt_kein_selbstbezug TO objekt_fahrzeug_kein_selbstbezug" ) def downgrade() -> None: op.execute( "ALTER TABLE objekt RENAME CONSTRAINT objekt_fahrzeug_kein_selbstbezug TO objekt_kein_selbstbezug" ) op.execute("ALTER INDEX idx_objekt_fahrzeug RENAME TO idx_objekt_gezogen_von") op.execute("ALTER TABLE objekt RENAME COLUMN fahrzeug_id TO gezogen_von_objekt_id")