summaryrefslogtreecommitdiff
path: root/src/mailman/database
diff options
context:
space:
mode:
authorMark Sapiro2016-12-26 14:43:36 -0800
committerMark Sapiro2016-12-26 14:43:36 -0800
commit2ead4c9f0f70ac3ebd06105562579f74fa6963f1 (patch)
treea59cf040acff390d7b5847cf08f84ff5b51dbcfb /src/mailman/database
parent17aa36cf4a5ec2cfce7b1e6af585b0f18a82a28b (diff)
downloadmailman-2ead4c9f0f70ac3ebd06105562579f74fa6963f1.tar.gz
mailman-2ead4c9f0f70ac3ebd06105562579f74fa6963f1.tar.zst
mailman-2ead4c9f0f70ac3ebd06105562579f74fa6963f1.zip
Diffstat (limited to 'src/mailman/database')
-rw-r--r--src/mailman/database/alembic/versions/3002bac0c25a_dmarc_attributes.py49
1 files changed, 18 insertions, 31 deletions
diff --git a/src/mailman/database/alembic/versions/3002bac0c25a_dmarc_attributes.py b/src/mailman/database/alembic/versions/3002bac0c25a_dmarc_attributes.py
index 03740c947..aa2d8610d 100644
--- a/src/mailman/database/alembic/versions/3002bac0c25a_dmarc_attributes.py
+++ b/src/mailman/database/alembic/versions/3002bac0c25a_dmarc_attributes.py
@@ -10,8 +10,8 @@ import sqlalchemy as sa
from alembic import op
from mailman.database.helpers import exists_in_db
-from mailman.database.types import Enum, SAUnicode
-from mailman.interfaces.mailinglist import DMARCModerationAction, FromIsList
+from mailman.database.types import Enum, SAUnicodeLarge
+from mailman.interfaces.mailinglist import DMARCMitigateAction
# revision identifiers, used by Alembic.
@@ -22,62 +22,49 @@ down_revision = 'a46993b05703'
def upgrade():
if not exists_in_db(op.get_bind(),
'mailinglist',
- 'dmarc_moderation_action'
+ 'dmarc_mitigate_action'
):
# SQLite may not have removed it when downgrading. It should be OK
# to just test one.
op.add_column('mailinglist', sa.Column(
- 'dmarc_moderation_action',
- Enum(DMARCModerationAction),
+ 'dmarc_mitigate_action',
+ Enum(DMARCMitigateAction),
nullable=True))
op.add_column('mailinglist', sa.Column(
- 'dmarc_quarantine_moderation_action',
- sa.Boolean(),
- nullable=True))
- op.add_column('mailinglist', sa.Column(
- 'dmarc_none_moderation_action',
- sa.Boolean(),
+ 'dmarc_mitigate_unconditionally',
+ sa.Boolean,
nullable=True))
op.add_column('mailinglist', sa.Column(
'dmarc_moderation_notice',
- SAUnicode(),
+ SAUnicodeLarge(),
nullable=True))
op.add_column('mailinglist', sa.Column(
'dmarc_wrapped_message_text',
- SAUnicode(),
- nullable=True))
- op.add_column('mailinglist', sa.Column(
- 'from_is_list',
- Enum(FromIsList),
+ SAUnicodeLarge(),
nullable=True))
# Now migrate the data. Don't import the table definition from the
# models, it may break this migration when the model is updated in the
# future (see the Alembic doc).
mlist = sa.sql.table(
'mailinglist',
- sa.sql.column('dmarc_moderation_action', Enum(DMARCModerationAction)),
- sa.sql.column('dmarc_quarantine_moderation_action', sa.Boolean()),
- sa.sql.column('dmarc_none_moderation_action', sa.Boolean()),
- sa.sql.column('dmarc_moderation_notice', SAUnicode()),
- sa.sql.column('dmarc_wrapped_message_text', SAUnicode()),
- sa.sql.column('from_is_list', Enum(FromIsList))
+ sa.sql.column('dmarc_mitigate_action', Enum(DMARCMitigateAction)),
+ sa.sql.column('dmarc_mitigate_unconditionally', sa.Boolean),
+ sa.sql.column('dmarc_moderation_notice', SAUnicodeLarge()),
+ sa.sql.column('dmarc_wrapped_message_text', SAUnicodeLarge()),
)
# These are all new attributes so just set defaults.
op.execute(mlist.update().values(dict(
- dmarc_moderation_action=op.inline_literal(DMARCModerationAction.none),
- dmarc_quarantine_moderation_action=op.inline_literal(True),
- dmarc_none_moderation_action=op.inline_literal(False),
+ dmarc_mitigate_action=op.inline_literal(
+ DMARCMitigateAction.no_mitigation),
+ dmarc_mitigate_unconditionally=op.inline_literal(False),
dmarc_moderation_notice=op.inline_literal(''),
dmarc_wrapped_message_text=op.inline_literal(''),
- from_is_list=op.inline_literal(FromIsList.none),
)))
def downgrade():
with op.batch_alter_table('mailinglist') as batch_op:
- batch_op.drop_column('dmarc_moderation_action')
- batch_op.drop_column('dmarc_quarantine_moderation_action')
- batch_op.drop_column('dmarc_none_moderation_action')
+ batch_op.drop_column('dmarc_mitigate_action')
+ batch_op.drop_column('dmarc_mitigate_unconditionally')
batch_op.drop_column('dmarc_moderation_notice')
batch_op.drop_column('dmarc_wrapped_message_text')
- batch_op.drop_column('from_is_list')