From 4a1d5d464702f09a8dc4e003d89eb8df99d90825 Mon Sep 17 00:00:00 2001 From: foefl Date: Wed, 17 Jun 2026 09:45:26 +0200 Subject: [PATCH] change database structure for initial recording of individual persons --- prototypes/db_alter.py | 19 +++++++++++++++++++ prototypes/tests.py | 6 +++--- src/wce_crm/db.py | 11 ++++++----- 3 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 prototypes/db_alter.py diff --git a/prototypes/db_alter.py b/prototypes/db_alter.py new file mode 100644 index 0000000..2cf0ba5 --- /dev/null +++ b/prototypes/db_alter.py @@ -0,0 +1,19 @@ +# %% +import sqlalchemy as sql + +from wce_crm import db + +# %% +stmt = sql.text( + "ALTER TABLE grunderfassung_unternehmen ADD COLUMN Metadaten_wiedereintrittsdatum DATE" +) + +with db.ENGINE.begin() as conn: + conn.execute(stmt) + +# %% +stmt = sql.text("ALTER TABLE grunderfassung_unternehmen RENAME TO grunderfassung") + +with db.ENGINE.begin() as conn: + conn.execute(stmt) +# %% diff --git a/prototypes/tests.py b/prototypes/tests.py index 3a1ab35..1b5102f 100644 --- a/prototypes/tests.py +++ b/prototypes/tests.py @@ -30,8 +30,8 @@ engine = sql.create_engine(f"sqlite:///{str(db_path)}") engine_crm = sql.create_engine(f"sqlite:///{str(crm_path)}") # %% stmt = sql.select( - db.grunderfassung_unternehmen.c.erfassung_id, - db.grunderfassung_unternehmen.c.Partnersuche__un_suche, + db.grunderfassung.c.erfassung_id, + db.grunderfassung.c.Partnersuche__un_suche, ) with engine.connect() as conn: @@ -44,7 +44,7 @@ for r in res: # %% -backend.get_company_list() +backend.front_get_company_list() # %% diff --git a/src/wce_crm/db.py b/src/wce_crm/db.py index 5cc67cb..fb380c6 100644 --- a/src/wce_crm/db.py +++ b/src/wce_crm/db.py @@ -323,8 +323,8 @@ 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_unternehmen: sql.Table = Table( - "grunderfassung_unternehmen", +grunderfassung: sql.Table = Table( + "grunderfassung", md_main, Column( "erfassung_id", @@ -346,6 +346,7 @@ grunderfassung_unternehmen: sql.Table = Table( onupdate=lambda: datetime.datetime.now(datetime.UTC), ), Column("Metadaten_nutzer", sql.String(20), nullable=True), + Column("Metadaten_wiedereintrittsdatum", sql.Date, nullable=True, default=None), Column("Arbeitserfahrung", sql.Text, nullable=True), Column("Grunderfassung_fallnummer", sql.Text, nullable=True), Column("Grunderfassung_notiz", sql.Text, nullable=True), @@ -362,9 +363,9 @@ grunderfassung_unternehmen: 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), - Column("Partnersuche__person_suche", sql.Integer, nullable=True), - Column("Partnersuche__un_suche", sql.Integer, 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),