Feste Fächer-Liste je Objekttyp (Vorlagen-Positionen: Dropdown + Sonstiges)
Nutzer-Vorgabe: Rucksack-Fächer sollen aus einer festen, je Objekttyp gepflegten Liste gewählt werden können statt jedes Mal Freitext einzutippen. Neue Tabelle fach (Migration 0004), CRUD-Endpoints /faecher, Admin-Tab Struktur bekommt Fach-Verwaltung, Vorlagen-Editor nutzt Dropdown mit "Sonstiges"-Freitext-Fallback. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
"""fach-Tabelle: feste Fächer-Liste je Objekttyp
|
||||
|
||||
Revision ID: 0004_add_fach
|
||||
Revises: 0003_add_benutzer_email
|
||||
Create Date: 2026-09-04
|
||||
|
||||
Nutzer-Vorgabe: feste Fächer-Liste pro Objekttyp statt Freitext bei jeder
|
||||
Vorlagenposition. Additive Schema-Erweiterung, bestehende Vorlagenpositionen
|
||||
(freies Fach-Textfeld) bleiben unverändert nutzbar (Prompt-Vorgabe "optional
|
||||
sonstiges für freies Textfeld").
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
|
||||
revision: str = "0004_add_fach"
|
||||
down_revision: Union[str, None] = "0003_add_benutzer_email"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.execute(
|
||||
"""
|
||||
CREATE TABLE fach (
|
||||
id SERIAL PRIMARY KEY,
|
||||
objekttyp_id INTEGER NOT NULL REFERENCES objekttyp(id),
|
||||
name TEXT NOT NULL,
|
||||
sortierung INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DROP TABLE fach;")
|
||||
Reference in New Issue
Block a user