"""Initial migration Revision ID: 3ce273a1be20 Revises: Create Date: 2025-06-07 15:25:35.603295 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '3ce273a1be20' down_revision = None branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_table('esrv_dkim_keys') op.drop_table('esrv_auth_logs') op.drop_table('esrv_users') op.drop_table('esrv_domains') op.drop_table('esrv_whitelisted_ips') op.drop_table('esrv_email_logs') op.drop_table('esrv_custom_headers') # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('esrv_custom_headers', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('domain_id', sa.INTEGER(), nullable=False), sa.Column('header_name', sa.VARCHAR(), nullable=False), sa.Column('header_value', sa.VARCHAR(), nullable=False), sa.Column('is_active', sa.BOOLEAN(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('esrv_email_logs', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('message_id', sa.VARCHAR(), nullable=False), sa.Column('timestamp', sa.DATETIME(), nullable=False), sa.Column('peer', sa.VARCHAR(), nullable=False), sa.Column('mail_from', sa.VARCHAR(), nullable=False), sa.Column('rcpt_tos', sa.VARCHAR(), nullable=False), sa.Column('content', sa.TEXT(), nullable=False), sa.Column('status', sa.VARCHAR(), nullable=False), sa.Column('dkim_signed', sa.BOOLEAN(), nullable=True), sa.Column('from_address', sa.VARCHAR(), server_default=sa.text("'unknown'"), nullable=False), sa.Column('to_address', sa.VARCHAR(), server_default=sa.text("'unknown'"), nullable=False), sa.Column('subject', sa.TEXT(), nullable=True), sa.Column('message', sa.TEXT(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('message_id') ) op.create_table('esrv_whitelisted_ips', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('ip_address', sa.VARCHAR(), nullable=False), sa.Column('domain_id', sa.INTEGER(), nullable=False), sa.Column('is_active', sa.BOOLEAN(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('esrv_domains', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('domain_name', sa.VARCHAR(), nullable=False), sa.Column('is_active', sa.BOOLEAN(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('domain_name') ) op.create_table('esrv_users', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('email', sa.VARCHAR(), nullable=False), sa.Column('password_hash', sa.VARCHAR(), nullable=False), sa.Column('domain_id', sa.INTEGER(), nullable=False), sa.Column('can_send_as_domain', sa.BOOLEAN(), nullable=True), sa.Column('is_active', sa.BOOLEAN(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email') ) op.create_table('esrv_auth_logs', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('auth_type', sa.VARCHAR(), nullable=False), sa.Column('identifier', sa.VARCHAR(), nullable=False), sa.Column('ip_address', sa.VARCHAR(), nullable=True), sa.Column('success', sa.BOOLEAN(), nullable=False), sa.Column('message', sa.TEXT(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('esrv_dkim_keys', sa.Column('id', sa.INTEGER(), nullable=False), sa.Column('domain_id', sa.INTEGER(), nullable=False), sa.Column('selector', sa.VARCHAR(), nullable=False), sa.Column('private_key', sa.TEXT(), nullable=False), sa.Column('public_key', sa.TEXT(), nullable=False), sa.Column('is_active', sa.BOOLEAN(), nullable=True), sa.Column('created_at', sa.DATETIME(), nullable=True), sa.Column('replaced_at', sa.DATETIME(), nullable=True), sa.PrimaryKeyConstraint('id') ) # ### end Alembic commands ###