diff --git a/alembic/versions/f74114e74ad9_update_schema_for_documents_of_initial_.py b/alembic/versions/f74114e74ad9_update_schema_for_documents_of_initial_.py new file mode 100644 index 0000000..d60611e --- /dev/null +++ b/alembic/versions/f74114e74ad9_update_schema_for_documents_of_initial_.py @@ -0,0 +1,52 @@ +"""update schema for documents of initial recording + +Revision ID: f74114e74ad9 +Revises: 5dfa1fc1dfdf +Create Date: 2026-07-31 11:02:57.484651 + +""" + +from typing import Sequence, Union + +import sqlalchemy as sa +from alembic import op + +import wce_crm.db + +# revision identifiers, used by Alembic. +revision: str = "f74114e74ad9" +down_revision: Union[str, Sequence[str], None] = "5dfa1fc1dfdf" +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.create_table( + "Grunderfassung_Dokumente", + sa.Column("id", sa.Integer(), autoincrement=True, nullable=False), + sa.Column("pers_id", sa.Integer(), nullable=False), + sa.Column("erstellt", wce_crm.db.UTCDateTime(), nullable=False), + sa.Column("aktualisiert", wce_crm.db.UTCDateTime(), nullable=False), + sa.Column("geloescht", wce_crm.db.UTCDateTime(), nullable=True), + sa.Column("speicherpfad", sa.Text(), nullable=False), + sa.Column("dateiname_original", sa.Text(), nullable=False), + sa.Column("dateigroesse_bytes", sa.Integer(), nullable=True), + sa.Column("datum_hinzugefuegt", wce_crm.db.UTCDateTime(), nullable=False), + sa.Column("mime_type", sa.Text(), nullable=False), + sa.Column("anmerkung", sa.Text(), nullable=False), + sa.ForeignKeyConstraint( + ["pers_id"], + ["Grunderfassung_Personen.pers_id"], + ), + sa.PrimaryKeyConstraint("id"), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("Grunderfassung_Dokumente") + # ### end Alembic commands ### diff --git a/src/wce_crm/db.py b/src/wce_crm/db.py index acc99b6..487b3c4 100644 --- a/src/wce_crm/db.py +++ b/src/wce_crm/db.py @@ -497,6 +497,41 @@ t_zuordnung_personen_unternehmen: Table = Table( ), ) +t_grunderfassung_dokumente: Table = Table( + "Grunderfassung_Dokumente", + MD_MAIN, + Column( + "id", + sa.Integer, + primary_key=True, + autoincrement=True, + ), + Column("pers_id", sa.ForeignKey("Grunderfassung_Personen.pers_id"), nullable=False), + Column( + "erstellt", + UTCDateTime, + nullable=False, + default=lambda: datetime.datetime.now(datetime.UTC), + ), + Column( + "aktualisiert", + UTCDateTime, + nullable=False, + default=lambda: datetime.datetime.now(datetime.UTC), + onupdate=lambda: datetime.datetime.now(datetime.UTC), + ), + Column( + "geloescht", + UTCDateTime, + nullable=True, + ), + Column("speicherpfad", sa.Text, nullable=False), + Column("dateiname_original", sa.Text, nullable=False), + Column("dateigroesse_bytes", sa.Integer, nullable=True), + Column("datum_hinzugefuegt", UTCDateTime, nullable=False), + Column("mime_type", sa.Text, nullable=False), + Column("anmerkung", sa.Text, nullable=False), +) t_beratung_vorgang: Table = Table( "Beratung_Vorgang",