From f4a4d2d98e48684a9054e63113a745650975d0b0 Mon Sep 17 00:00:00 2001 From: foefl Date: Wed, 15 Jul 2026 17:08:06 +0200 Subject: [PATCH] updated schema for deletion by timestamp (equivalent to other parts of the app) --- ...ab_timestamps_for_deletions_of_initial_.py | 42 +++++++++++++++++++ data_model/project_db_schema.aml | 2 + src/wce_crm/db.py | 10 +++++ 3 files changed, 54 insertions(+) create mode 100644 alembic/versions/85577ce9f2ab_timestamps_for_deletions_of_initial_.py diff --git a/alembic/versions/85577ce9f2ab_timestamps_for_deletions_of_initial_.py b/alembic/versions/85577ce9f2ab_timestamps_for_deletions_of_initial_.py new file mode 100644 index 0000000..e367e15 --- /dev/null +++ b/alembic/versions/85577ce9f2ab_timestamps_for_deletions_of_initial_.py @@ -0,0 +1,42 @@ +"""timestamps for deletions of initial recording + +Revision ID: 85577ce9f2ab +Revises: 830416cab29c +Create Date: 2026-07-15 17:06:55.947134 + +""" + +from typing import Sequence, Union + +import sqlalchemy as sa +from alembic import op + +import wce_crm.db + +# revision identifiers, used by Alembic. +revision: str = "85577ce9f2ab" +down_revision: Union[str, Sequence[str], None] = "830416cab29c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "grunderfassung_personen", + sa.Column("geloescht", wce_crm.db.UTCDateTime(), nullable=True), + ) + op.add_column( + "grunderfassung_unternehmen", + sa.Column("geloescht", wce_crm.db.UTCDateTime(), nullable=True), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("grunderfassung_unternehmen", "geloescht") + op.drop_column("grunderfassung_personen", "geloescht") + # ### end Alembic commands ### diff --git a/data_model/project_db_schema.aml b/data_model/project_db_schema.aml index 159ebf4..476670f 100644 --- a/data_model/project_db_schema.aml +++ b/data_model/project_db_schema.aml @@ -9,6 +9,7 @@ Ext_CRM.Ansprechpartner Grunderfassung_Unternehmen un_id int pk {autoIncrement} + geloescht "timestamp with time zone" nullable Metadaten_erstellung "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` nullable Metadaten_aktualisierung "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` nullable {on_update: `datetime.datetime.now(datetime.UTC)`} Metadaten_nutzer varchar(20) nullable @@ -21,6 +22,7 @@ Grunderfassung_Unternehmen Grunderfassung_Personen pers_id int pk {autoIncrement} + geloescht "timestamp with time zone" nullable Metadaten_erstellung "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` nullable Metadaten_aktualisierung "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` nullable {on_update: `datetime.datetime.now(datetime.UTC)`} Metadaten_wiedereintrittsdatum timestamp nullable diff --git a/src/wce_crm/db.py b/src/wce_crm/db.py index 60df268..aaecaf0 100644 --- a/src/wce_crm/db.py +++ b/src/wce_crm/db.py @@ -256,6 +256,11 @@ grunderfassung_unternehmen: sql.Table = Table( primary_key=True, autoincrement=True, ), + Column( + "geloescht", + UTCDateTime, + nullable=True, + ), Column( "Metadaten_erstellung", UTCDateTime, @@ -286,6 +291,11 @@ grunderfassung_personen: sql.Table = Table( primary_key=True, autoincrement=True, ), + Column( + "geloescht", + UTCDateTime, + nullable=True, + ), Column( "Metadaten_erstellung", UTCDateTime,