Basisimplementierung für Mailversandt.

This commit is contained in:
Frank Agerholm 2026-01-16 20:51:40 +01:00
commit 531b9cb10e
No known key found for this signature in database
14 changed files with 520 additions and 41 deletions

View file

@ -0,0 +1,28 @@
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers:
revision = "20260116_create_messages"
down_revision = None # oder deine letzte Revision
def upgrade():
op.create_table(
"messages",
sa.Column("id", postgresql.UUID(as_uuid=True), primary_key=True),
sa.Column("mailbox_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("message_id", sa.String(512), nullable=True),
sa.Column("subject", sa.String(2048), nullable=True),
sa.Column("from_addr", sa.String(2048), nullable=True),
sa.Column("to_addr", sa.String(4096), nullable=True),
sa.Column("date_header", sa.TIMESTAMP(timezone=True), nullable=True),
sa.Column("received_at", sa.TIMESTAMP(timezone=True), nullable=False),
sa.Column("raw_eml", sa.LargeBinary(), nullable=False),
)
op.create_index("ix_messages_date", "messages", ["date_header"])
op.create_index("ix_messages_message_id", "messages", ["message_id"])
op.create_index("ix_messages_mailbox", "messages", ["mailbox_id"])
def downgrade():
op.drop_table("messages")