"""change default unlimited value for max_users and max_aliases to -1 Revision ID: fc099bd15cbe Revises: 5aeb5811408e Create Date: 2019-01-06 13:40:23.372373 """ # revision identifiers, used by Alembic. revision = 'fc099bd15cbe' down_revision = '5aeb5811408e' 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')