change database schema for consulting sessions

This commit is contained in:
2026-07-09 14:25:34 +02:00
parent 9cfe53509f
commit 39d4327e19
4 changed files with 181 additions and 5 deletions
+33
View File
@@ -178,6 +178,7 @@ class FlatBaseModel(BaseModel):
return dict(items)
# ** InitRec
class Grunderfassung_Unternehmen(FlatBaseModel):
# default in SQLAlchemy with lambda and timezone-aware datetime
Metadaten_erstellung: AwareDatetime | None = None
@@ -342,3 +343,35 @@ class Grunderfassung_Sprachen(BaseModel):
SP_nachweis: str | None
SP_art_nachweis: str | None = None
SP_datum_nachweis: datetime.date | None = None
# ** Consulting
class Beratungsgespraech(BaseModel):
model_config = ConfigDict(str_strip_whitespace=True)
un_id: int | None
pers_id: int | None
titel: str
beratungs_typ: str
# default in SQLAlchemy with lambda and timezone-aware datetime
erstellt: AwareDatetime | None = None
aktualisiert: AwareDatetime | None = None # see above
class Beratungsgespraech_Vorgang(BaseModel):
model_config = ConfigDict(str_strip_whitespace=True)
vorgang_id: int
nutzer_id: int
nutzer_name: str
zeitstempel: AwareDatetime
ansprechpartner: str
kommunikationsweg: str
thema_crm_matrix: str | None
anmerkungen: str | None
rueckmeldung: str | None
# default in SQLAlchemy with lambda and timezone-aware datetime
erstellt: AwareDatetime | None = None
aktualisiert: AwareDatetime | None = None # see above
+68
View File
@@ -374,3 +374,71 @@ zuordnung_personen_unternehmen: sql.Table = Table(
onupdate=lambda: datetime.datetime.now(datetime.UTC),
),
)
beratung_vorgang: sql.Table = Table(
"beratung_vorgang",
MD_MAIN,
Column(
"vorgang_id",
sql.Integer,
primary_key=True,
autoincrement=True,
),
Column("un_id", sql.ForeignKey("grunderfassung_unternehmen.un_id"), nullable=True),
Column("pers_id", sql.ForeignKey("grunderfassung_personen.pers_id"), nullable=True),
Column("titel", sql.Text, nullable=False),
Column("beratungs_typ", sql.String(20), nullable=False),
Column(
"erstellt",
UTCDateTime,
nullable=False,
default=lambda: datetime.datetime.now(datetime.UTC),
),
Column(
"aktualisiert",
UTCDateTime,
nullable=True,
default=lambda: datetime.datetime.now(datetime.UTC),
onupdate=lambda: datetime.datetime.now(datetime.UTC),
),
)
beratung_einzelberatung: sql.Table = Table(
"beratung_einzelberatung",
MD_MAIN,
Column(
"beratung_id",
sql.Integer,
primary_key=True,
autoincrement=True,
),
Column("vorgang_id", sql.ForeignKey("beratung_vorgang.vorgang_id"), nullable=False),
Column("nutzer_id", sql.Integer, nullable=False),
Column("nutzer_name", sql.String(20), nullable=False),
Column(
"zeitstempel",
UTCDateTime,
nullable=False,
default=lambda: datetime.datetime.now(datetime.UTC),
),
Column("ansprechpartner", sql.Text, nullable=False),
Column("kommunikationsweg", sql.Text, nullable=False),
Column("thema_crm_matrix", sql.Text, nullable=True),
Column("anmerkungen", sql.Text, nullable=True),
Column("rueckmeldung", sql.Text, nullable=True),
Column(
"erstellt",
UTCDateTime,
nullable=False,
default=lambda: datetime.datetime.now(datetime.UTC),
),
Column(
"aktualisiert",
UTCDateTime,
nullable=True,
default=lambda: datetime.datetime.now(datetime.UTC),
onupdate=lambda: datetime.datetime.now(datetime.UTC),
),
)