generated from dopt-python/py311
switch to new data model with distinct company and person data
This commit is contained in:
+59
-83
@@ -62,83 +62,6 @@ MD_CRM = sql.MetaData()
|
||||
MD_MAIN = sql.MetaData()
|
||||
ENGINE = sql.create_engine(f"sqlite:///{constants.Config.DB_PATH_MAIN}")
|
||||
|
||||
# ---------- OLD "Kontaktliste" ----------
|
||||
|
||||
# md_kontaktliste = sql.MetaData()
|
||||
|
||||
# ext_kl_unternehmen: sql.Table = Table(
|
||||
# "Unternehmen",
|
||||
# md_kontaktliste,
|
||||
# Column("u_id", sql.Integer, nullable=False, unique=True),
|
||||
# Column("u_zeitstempel_eintrag", sql.DateTime, nullable=False),
|
||||
# Column("u_rechtsform", sql.Text, nullable=False),
|
||||
# Column("u_firmenname", sql.Text, nullable=False),
|
||||
# Column("u_strasse", sql.Text, nullable=False),
|
||||
# Column("u_hausnummer", sql.Text, nullable=False),
|
||||
# Column("u_adresszusatz", sql.Text, nullable=True),
|
||||
# Column("u_plz", sql.Text, nullable=False),
|
||||
# Column("u_ort", sql.Text, nullable=False),
|
||||
# Column("u_postfach", sql.Text, nullable=True),
|
||||
# Column("u_website", sql.Text, nullable=True),
|
||||
# Column("u_anrede", sql.Text, nullable=False),
|
||||
# Column("u_titel", sql.Text, nullable=True),
|
||||
# Column("u_vorname", sql.Text, nullable=False),
|
||||
# Column("u_nachname", sql.Text, nullable=False),
|
||||
# Column("u_funktion", sql.Text, nullable=False),
|
||||
# Column("u_mail", sql.Text, nullable=False),
|
||||
# Column("u_telefon", sql.Text, nullable=False),
|
||||
# Column("u_plz_postfach", sql.Text, nullable=True),
|
||||
# Column("u_einwilligung_inhaber", sql.Boolean, nullable=True),
|
||||
# Column("u_einwilligung_ansprechpartner", sql.Boolean, nullable=True),
|
||||
# Column("u_aktiv", sql.Boolean, nullable=False, default=1),
|
||||
# )
|
||||
|
||||
# ext_kl_unternehmen_schema: t.PolarsSchema = {
|
||||
# "u_id": pl.UInt64,
|
||||
# "u_zeitstempel_eintrag": pl.Datetime,
|
||||
# "u_rechtsform": pl.String,
|
||||
# "u_firmenname": pl.String,
|
||||
# "u_strasse": pl.String,
|
||||
# "u_hausnummer": pl.String,
|
||||
# "u_adresszusatz": pl.String,
|
||||
# "u_plz": pl.String,
|
||||
# "u_ort": pl.String,
|
||||
# "u_postfach": pl.String,
|
||||
# "u_website": pl.String,
|
||||
# "u_anrede": pl.String,
|
||||
# "u_titel": pl.String,
|
||||
# "u_vorname": pl.String,
|
||||
# "u_nachname": pl.String,
|
||||
# "u_funktion": pl.String,
|
||||
# "u_mail": pl.String,
|
||||
# "u_telefon": pl.String,
|
||||
# "u_plz_postfach": pl.String,
|
||||
# "u_einwilligung_inhaber": pl.Boolean,
|
||||
# "u_einwilligung_ansprechpartner": pl.Boolean,
|
||||
# "u_aktiv": pl.Boolean,
|
||||
# }
|
||||
|
||||
|
||||
# def get_ext_kontaktliste(
|
||||
# db_path: Path | None,
|
||||
# ) -> pl.DataFrame:
|
||||
# if db_path is None:
|
||||
# ENV_PTH = os.environ.get("DOPT_DB_KONTAKTLISTE", None)
|
||||
# if ENV_PTH is None:
|
||||
# raise ValueError("No database path provided or found as ENV var.")
|
||||
# db_path = Path(ENV_PTH)
|
||||
|
||||
# if not db_path.exists():
|
||||
# raise FileNotFoundError(f"Database not found under >{db_path}<")
|
||||
|
||||
# engine = sql.create_engine(f"sqlite:///{db_path}")
|
||||
# stmt = sql.select(ext_kl_unternehmen)
|
||||
# return pl.read_database(stmt, engine, schema_overrides=ext_kl_unternehmen_schema)
|
||||
|
||||
|
||||
# df_kontaktliste = get_ext_kontaktliste(None)
|
||||
|
||||
# ----------------------------------------------------
|
||||
|
||||
ext_crm_master: sql.Table = Table(
|
||||
"Master",
|
||||
@@ -324,11 +247,41 @@ def get_ext_crm_contact_person(
|
||||
# df_contact_person = get_ext_crm_contact_person(None)
|
||||
DF_CONTACT_PERSON = get_ext_crm_contact_person(constants.Config.DB_PATH_CRM)
|
||||
|
||||
grunderfassung: sql.Table = Table(
|
||||
"grunderfassung",
|
||||
grunderfassung_unternehmen: sql.Table = Table(
|
||||
"grunderfassung_unternehmen",
|
||||
MD_MAIN,
|
||||
Column(
|
||||
"erfassung_id",
|
||||
"un_id",
|
||||
sql.Integer,
|
||||
primary_key=True,
|
||||
autoincrement=True,
|
||||
),
|
||||
Column(
|
||||
"Metadaten_erstellung",
|
||||
UTCDateTime,
|
||||
nullable=True,
|
||||
default=lambda: datetime.datetime.now(datetime.UTC),
|
||||
),
|
||||
Column(
|
||||
"Metadaten_aktualisierung",
|
||||
UTCDateTime,
|
||||
nullable=True,
|
||||
default=lambda: datetime.datetime.now(datetime.UTC),
|
||||
onupdate=lambda: datetime.datetime.now(datetime.UTC),
|
||||
),
|
||||
Column("Metadaten_nutzer", sql.String(20), nullable=True),
|
||||
Column("Grunderfassung_fallnummer", sql.Text, nullable=True),
|
||||
Column("Grunderfassung_notiz", sql.Text, nullable=True),
|
||||
Column("Partnersuche__kanal_aufmerksamkeit", sql.Text, nullable=True, default=None),
|
||||
Column("Partnersuche__person_suche", sql.Integer, nullable=True, default=None),
|
||||
Column("Partnersuche__un_suche", sql.Integer, nullable=True, default=None),
|
||||
)
|
||||
|
||||
grunderfassung_personen: sql.Table = Table(
|
||||
"grunderfassung_personen",
|
||||
MD_MAIN,
|
||||
Column(
|
||||
"pers_id",
|
||||
sql.Integer,
|
||||
primary_key=True,
|
||||
autoincrement=True,
|
||||
@@ -364,9 +317,6 @@ grunderfassung: sql.Table = Table(
|
||||
), # TODO: check if needed when set by trigger
|
||||
Column("Kontaktperson__KP_titel", sql.Text, nullable=True),
|
||||
Column("Kontaktperson__KP_vorname", sql.Text, nullable=True),
|
||||
Column("Partnersuche__kanal_aufmerksamkeit", sql.Text, nullable=True, default=None),
|
||||
Column("Partnersuche__person_suche", sql.Integer, nullable=True, default=None),
|
||||
Column("Partnersuche__un_suche", sql.Integer, nullable=True, default=None),
|
||||
Column("Projektrelevanz__relevanz", sql.Text, nullable=True),
|
||||
Column("Projektrelevanz__foerderperiode", sql.Text, nullable=True),
|
||||
Column("Schulbildung", sql.Text, nullable=True),
|
||||
@@ -398,3 +348,29 @@ grunderfassung: sql.Table = Table(
|
||||
Column("WeitereInfos__WI_gueltigkeit_aufenthaltstitel", sql.Date, nullable=True),
|
||||
Column("WeitereInfos__WI_meldung_institution", sql.Text, nullable=True),
|
||||
)
|
||||
|
||||
zuordnung_personen_unternehmen: sql.Table = Table(
|
||||
"zuordnung_personen_unternehmen",
|
||||
MD_MAIN,
|
||||
Column(
|
||||
"id",
|
||||
sql.Integer,
|
||||
primary_key=True,
|
||||
autoincrement=True,
|
||||
),
|
||||
Column("un_id", sql.ForeignKey("grunderfassung_unternehmen.un_id"), nullable=False),
|
||||
Column("pers_id", sql.ForeignKey("grunderfassung_personen.pers_id"), nullable=False),
|
||||
Column(
|
||||
"gueltig_ab",
|
||||
UTCDateTime,
|
||||
nullable=False,
|
||||
default=lambda: datetime.datetime.now(datetime.UTC),
|
||||
),
|
||||
Column(
|
||||
"gueltig_bis",
|
||||
UTCDateTime,
|
||||
nullable=True,
|
||||
default=lambda: datetime.datetime.now(datetime.UTC),
|
||||
onupdate=lambda: datetime.datetime.now(datetime.UTC),
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user