From 02a005d07647fa75b4f5271a4e56f8f1ce412fd7 Mon Sep 17 00:00:00 2001 From: Son Date: Wed, 27 Oct 2021 16:06:56 +0200 Subject: [PATCH] increase message_id length to 1024 --- app/models.py | 4 +-- .../versions/2021_102715_0b9150eb309d_.py | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 migrations/versions/2021_102715_0b9150eb309d_.py diff --git a/app/models.py b/app/models.py index 19567e00..4dfe72e6 100644 --- a/app/models.py +++ b/app/models.py @@ -1636,7 +1636,7 @@ class EmailLog(Base, ModelMixin): ) # the Message ID - message_id = deferred(sa.Column(sa.String(512), nullable=True)) + message_id = deferred(sa.Column(sa.String(1024), nullable=True)) # in the reply phase, the original message_id is replaced by the SL message_id sl_message_id = deferred(sa.Column(sa.String(512), nullable=True)) @@ -2596,4 +2596,4 @@ class MessageIDMatching(Base, ModelMixin): # SimpleLogin Message ID sl_message_id = sa.Column(sa.String(512), unique=True, nullable=False) - original_message_id = sa.Column(sa.String(512), unique=True, nullable=False) + original_message_id = sa.Column(sa.String(1024), unique=True, nullable=False) diff --git a/migrations/versions/2021_102715_0b9150eb309d_.py b/migrations/versions/2021_102715_0b9150eb309d_.py new file mode 100644 index 00000000..d0d32d22 --- /dev/null +++ b/migrations/versions/2021_102715_0b9150eb309d_.py @@ -0,0 +1,29 @@ +"""Increase message_id length manually + +Revision ID: 0b9150eb309d +Revises: bbedc353f90c +Create Date: 2021-10-27 15:58:22.275769 + +""" +import sqlalchemy_utils +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '0b9150eb309d' +down_revision = 'bbedc353f90c' +branch_labels = None +depends_on = None + + +def upgrade(): + # As alembic cannot detect changes in column length, do it manually + op.execute('ALTER TABLE email_log ALTER COLUMN message_id TYPE varchar(1024);') + op.execute('ALTER TABLE message_id_matching ALTER COLUMN original_message_id TYPE varchar(1024);') + + +def downgrade(): + # As alembic cannot detect changes in column length, do it manually + op.execute('ALTER TABLE email_log ALTER COLUMN message_id TYPE varchar(512);') + op.execute('ALTER TABLE message_id_matching ALTER COLUMN original_message_id TYPE varchar(512);')