You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.8 KiB
Python
66 lines
1.8 KiB
Python
6 years ago
|
"""change default unlimited value for max_users and max_aliases to -1
|
||
|
|
||
|
Revision ID: fc099bd15cbe
|
||
|
Revises: cd79ed46d9c2
|
||
|
Create Date: 2019-01-06 13:40:23.372373
|
||
|
|
||
|
"""
|
||
|
|
||
|
# revision identifiers, used by Alembic.
|
||
|
revision = 'fc099bd15cbe'
|
||
|
down_revision = 'cd79ed46d9c2'
|
||
|
|
||
|
from alembic import op
|
||
|
import sqlalchemy as sa
|
||
|
|
||
|
|
||
|
domain_table = sa.Table(
|
||
|
'domain',
|
||
|
sa.MetaData(),
|
||
|
sa.Column('max_users', sa.Integer(), nullable=False),
|
||
|
sa.Column('max_aliases', sa.Integer(), nullable=False),
|
||
|
)
|
||
|
|
||
|
|
||
|
def upgrade():
|
||
|
connection = op.get_bind()
|
||
|
connection.execute(
|
||
|
domain_table.update().where(
|
||
|
domain_table.c.max_users == 0
|
||
|
).values(
|
||
|
max_users=-1
|
||
|
)
|
||
|
)
|
||
|
connection.execute(
|
||
|
domain_table.update().where(
|
||
|
domain_table.c.max_aliases == 0
|
||
|
).values(
|
||
|
max_aliases=-1
|
||
|
)
|
||
|
)
|
||
|
#set new unlimited default to -1
|
||
|
with op.batch_alter_table('domain') as batch:
|
||
|
batch.alter_column('max_users', server_default='-1')
|
||
|
batch.alter_column('max_aliases', server_default='-1')
|
||
|
|
||
|
def downgrade():
|
||
|
connection = op.get_bind()
|
||
|
connection.execute(
|
||
|
domain_table.update().where(
|
||
|
domain_table.c.max_users == -1
|
||
|
).values(
|
||
|
max_users=0
|
||
|
)
|
||
|
)
|
||
|
connection.execute(
|
||
|
domain_table.update().where(
|
||
|
domain_table.c.max_aliases == -1
|
||
|
).values(
|
||
|
max_aliases=0
|
||
|
)
|
||
|
)
|
||
|
#set default to 0
|
||
|
with op.batch_alter_table('domain') as batch:
|
||
|
batch.alter_column('max_users', server_default='0')
|
||
|
batch.alter_column('max_aliases', server_default='0')
|