"""add_days_range_to_breakdown_options Revision ID: 8a34cb5ee15e Revises: d46af466811e Create Date: 2020-11-26 12:34:08.531117 """ from alembic import op import sqlalchemy as sa from sqlalchemy.sql.expression import bindparam from models.performance_breakdown_option import BreakdownOptions # revision identifiers, used by Alembic. revision = '8a34cb5ee15e' down_revision = '8a3e741bbfb8' branch_labels = None depends_on = None def upgrade(): bind = op.get_bind() op.add_column( 'PerformanceBreakdownOption', sa.Column('days_range', sa.Integer(), nullable=False, server_default="732") ) bind = op.get_bind() meta = sa.MetaData(bind=bind) meta.reflect() performance_breakdown_option_table = meta.tables["PerformanceBreakdownOption"] changes = [ {"breakdown_id": BreakdownOptions.DAYS.value, "days_range": 30}, {"breakdown_id": BreakdownOptions.WEEKS.value, "days_range": 90}, {"breakdown_id": BreakdownOptions.CHARTWEEKS.value, "days_range": 90}, {"breakdown_id": BreakdownOptions.MONTH.value, "days_range": 366}, ] query = ( performance_breakdown_option_table.update() .where(performance_breakdown_option_table.c.id == bindparam('breakdown_id')) .values(days_range=bindparam('days_range')) ) bind.execute(query, changes) def downgrade(): op.drop_column('PerformanceBreakdownOption', 'days_range')