"""Verschluesselungsart des Postfachs waehlbar machen. Bisher gab es nur den Schalter ``use_ssl`` – also implizites TLS auf Port 993 oder gar nichts. STARTTLS auf Port 143 fehlte, und genau das bieten viele Anbieter an. Statt eines zweiten Schalters gibt es jetzt ein Feld mit drei klaren Werten. Revision ID: 0017 Revises: 0016 """ import sqlalchemy as sa from alembic import op revision = "0017" down_revision = "0016" branch_labels = None depends_on = None def upgrade() -> None: op.add_column("mail_sources", sa.Column("security", sa.String(length=16), nullable=False, server_default="ssl")) # Bestehende Postfaecher behalten ihre Einstellung. op.execute("UPDATE mail_sources SET security = CASE WHEN use_ssl THEN 'ssl' ELSE 'none' END") with op.batch_alter_table("mail_sources") as batch: batch.drop_column("use_ssl") def downgrade() -> None: op.add_column("mail_sources", sa.Column("use_ssl", sa.Boolean(), nullable=False, server_default=sa.true())) op.execute("UPDATE mail_sources SET use_ssl = (security = 'ssl')") with op.batch_alter_table("mail_sources") as batch: batch.drop_column("security")