task-queue-system/migrations/versions/20260116_create_messages.py

28 lines
1.1 KiB
Python

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")