fix(models): app/models/__init__.py fehlten 6 Module seit Personal-Modul
Nicht mitgezogen seit Migration 0012: personal, mangel, fahrzeugdetails, lagerbewegung, dokument, permission. Live-Testlauf von scripts/create_admin.py brach mit NoReferencedTableError ab (Benutzer.einheit_id -> einheit war nicht registriert, da das Skript nur app.models.auth statt des vollständigen Registry-Imports nutzt). App selbst lief nur zufällig fehlerfrei, weil api.py alle Endpunkt-Module importiert und die dortigen Modell-Importe die Lücke im Betrieb kaschiert haben. Fix: __init__.py vervollständigt + create_admin.py/eskalation_pruefen.py (täglicher Timer!) bekommen zusätzlich ein explizites "import app.models" als Schutz, unabhängig davon ob die Registry künftig wieder unvollständig wird. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
This commit is contained in:
@@ -1,13 +1,25 @@
|
|||||||
from app.models.auth import Benutzer, BenutzerRolle, RolleTyp, Systemknoten, KnotenTyp
|
from app.models.auth import Benutzer, BenutzerRolle, RolleTyp, Systemknoten, KnotenTyp
|
||||||
|
from app.models.dokument import Dokument
|
||||||
from app.models.eskalation import EskalationKonfiguration
|
from app.models.eskalation import EskalationKonfiguration
|
||||||
|
from app.models.fahrzeugdetails import Fahrzeugdetails
|
||||||
from app.models.fehlbestand import Fehlbestand, FehlbestandStatus
|
from app.models.fehlbestand import Fehlbestand, FehlbestandStatus
|
||||||
from app.models.geraet_instanz import GeraetInstanz, GeraetStatus
|
from app.models.geraet_instanz import GeraetInstanz, GeraetStatus
|
||||||
from app.models.historie import Historie
|
from app.models.historie import Historie
|
||||||
from app.models.kontrolle import Kontrolle, KontrollStatus, Kontrollposition
|
from app.models.kontrolle import Kontrolle, KontrollStatus, Kontrollposition
|
||||||
|
from app.models.lagerbewegung import Lagerbewegung
|
||||||
|
from app.models.mangel import Mangel, MangelPrioritaet, MangelStatus
|
||||||
from app.models.mindermenge import MindermengeStatus, MindermengenGenehmigung
|
from app.models.mindermenge import MindermengeStatus, MindermengenGenehmigung
|
||||||
from app.models.nachfuellung import Nachfuellung
|
from app.models.nachfuellung import Nachfuellung
|
||||||
from app.models.objekt import Objekt, ObjektStatus
|
from app.models.objekt import Objekt, ObjektStatus
|
||||||
from app.models.objektposition import Objektposition, ObjektpositionStatus
|
from app.models.objektposition import Objektposition, ObjektpositionStatus
|
||||||
|
from app.models.permission import Berechtigung, BenutzerRolleZuordnung, Rolle, RolleBerechtigung
|
||||||
|
from app.models.personal import (
|
||||||
|
BenutzerQualifikation,
|
||||||
|
Einheit,
|
||||||
|
ObjekttypQualifikationsanforderung,
|
||||||
|
Qualifikationskategorie,
|
||||||
|
Qualifikationstyp,
|
||||||
|
)
|
||||||
from app.models.stammdaten import Bereich, Kategorie, Material, MaterialTyp, Objekttyp, Standort
|
from app.models.stammdaten import Bereich, Kategorie, Material, MaterialTyp, Objekttyp, Standort
|
||||||
from app.models.vorlage import Beladungsvorlage, VorlageStatus, Vorlagenposition
|
from app.models.vorlage import Beladungsvorlage, VorlageStatus, Vorlagenposition
|
||||||
from app.models.zustaendigkeit import Kontrollverantwortung, Zustaendigkeit
|
from app.models.zustaendigkeit import Kontrollverantwortung, Zustaendigkeit
|
||||||
@@ -18,7 +30,9 @@ __all__ = [
|
|||||||
"RolleTyp",
|
"RolleTyp",
|
||||||
"Systemknoten",
|
"Systemknoten",
|
||||||
"KnotenTyp",
|
"KnotenTyp",
|
||||||
|
"Dokument",
|
||||||
"EskalationKonfiguration",
|
"EskalationKonfiguration",
|
||||||
|
"Fahrzeugdetails",
|
||||||
"Fehlbestand",
|
"Fehlbestand",
|
||||||
"FehlbestandStatus",
|
"FehlbestandStatus",
|
||||||
"GeraetInstanz",
|
"GeraetInstanz",
|
||||||
@@ -27,6 +41,10 @@ __all__ = [
|
|||||||
"Kontrolle",
|
"Kontrolle",
|
||||||
"KontrollStatus",
|
"KontrollStatus",
|
||||||
"Kontrollposition",
|
"Kontrollposition",
|
||||||
|
"Lagerbewegung",
|
||||||
|
"Mangel",
|
||||||
|
"MangelPrioritaet",
|
||||||
|
"MangelStatus",
|
||||||
"MindermengeStatus",
|
"MindermengeStatus",
|
||||||
"MindermengenGenehmigung",
|
"MindermengenGenehmigung",
|
||||||
"Nachfuellung",
|
"Nachfuellung",
|
||||||
@@ -34,6 +52,15 @@ __all__ = [
|
|||||||
"ObjektStatus",
|
"ObjektStatus",
|
||||||
"Objektposition",
|
"Objektposition",
|
||||||
"ObjektpositionStatus",
|
"ObjektpositionStatus",
|
||||||
|
"Berechtigung",
|
||||||
|
"BenutzerRolleZuordnung",
|
||||||
|
"Rolle",
|
||||||
|
"RolleBerechtigung",
|
||||||
|
"BenutzerQualifikation",
|
||||||
|
"Einheit",
|
||||||
|
"ObjekttypQualifikationsanforderung",
|
||||||
|
"Qualifikationskategorie",
|
||||||
|
"Qualifikationstyp",
|
||||||
"Bereich",
|
"Bereich",
|
||||||
"Kategorie",
|
"Kategorie",
|
||||||
"Material",
|
"Material",
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ import asyncio
|
|||||||
|
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select
|
||||||
|
|
||||||
|
import app.models # noqa: F401 (alle ORM-Modelle registrieren, sonst schlägt
|
||||||
|
# db.flush() mit NoReferencedTableError fehl, sobald ein Modell eine FK auf
|
||||||
|
# eine Tabelle hat, deren Modell hier nicht importiert wurde - Fund beim
|
||||||
|
# Live-Testlauf, Benutzer.einheit_id -> einheit war nicht mitregistriert)
|
||||||
from app.core.security import hash_password
|
from app.core.security import hash_password
|
||||||
from app.db.session import SessionLocal
|
from app.db.session import SessionLocal
|
||||||
from app.models.auth import Benutzer, BenutzerRolle, RolleTyp
|
from app.models.auth import Benutzer, BenutzerRolle, RolleTyp
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from __future__ import annotations
|
|||||||
import asyncio
|
import asyncio
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import app.models # noqa: F401 (alle ORM-Modelle registrieren, siehe create_admin.py)
|
||||||
from app.db.session import SessionLocal
|
from app.db.session import SessionLocal
|
||||||
from app.services.eskalation import pruefe_offene_fehlbestaende
|
from app.services.eskalation import pruefe_offene_fehlbestaende
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user