28 lines
1.1 KiB
Python
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")
|
|
|