mirror of
https://github.com/Mailu/Mailu.git
synced 2024-12-14 10:53:30 +02:00
54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
"""spam_threshold in percent
|
|
|
|
Revision ID: 27ae2f102682
|
|
Revises: dc8c25cf5b98
|
|
Create Date: 2016-09-30 08:06:15.025190
|
|
|
|
"""
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '27ae2f102682'
|
|
down_revision = 'dc8c25cf5b98'
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
user_table = sa.Table(
|
|
'user',
|
|
sa.MetaData(),
|
|
sa.Column('email', sa.String(255), primary_key=True),
|
|
sa.Column('spam_threshold', sa.Numeric())
|
|
)
|
|
|
|
|
|
def upgrade():
|
|
connection = op.get_bind()
|
|
# spam_threshold is a X/15 based value, we're converting it to percent.
|
|
for user in connection.execute(user_table.select()):
|
|
connection.execute(
|
|
user_table.update().where(
|
|
user_table.c.email == user.email
|
|
).values(
|
|
spam_threshold=int(100. * float(user.spam_threshold or 0.) / 15.)
|
|
)
|
|
)
|
|
# set default to 80%
|
|
with op.batch_alter_table('user') as batch:
|
|
batch.alter_column('spam_threshold', default=80.)
|
|
|
|
def downgrade():
|
|
connection = op.get_bind()
|
|
# spam_threshold is a X/15 based value, we're converting it from percent.
|
|
for user in connection.execute(user_table.select()):
|
|
connection.execute(
|
|
user_table.update().where(
|
|
user_table.c.email == user.email
|
|
).values(
|
|
spam_threshold=int(15. * float(user.spam_threshold or 0.) / 100.)
|
|
)
|
|
)
|
|
# set default to 10/15
|
|
with op.batch_alter_table('user') as batch:
|
|
batch.alter_column('spam_threshold', default=10.)
|