Files
notifications-api/migrations/versions/0014_add_template_version.py

38 lines
1.4 KiB
Python

"""empty message
Revision ID: 0014_add_template_version
Revises: 0013_add_loadtest_client
Create Date: 2016-05-11 16:00:51.478012
"""
# revision identifiers, used by Alembic.
revision = '0014_add_template_version'
down_revision = '0013_add_loadtest_client'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
def upgrade():
op.add_column('jobs', sa.Column('template_version', sa.Integer(), nullable=True))
op.get_bind()
op.execute('update jobs set template_version = (select version from templates where id = template_id)')
op.add_column('notifications', sa.Column('template_version', sa.Integer(), nullable=True))
op.execute('update notifications set template_version = (select version from templates where id = template_id)')
op.alter_column('jobs', 'template_version', nullable=False)
op.alter_column('notifications', 'template_version', nullable=False)
# fix template_history where created_by_id is not set.
query = "update templates_history set created_by_id = " \
" (select created_by_id from templates " \
" where templates.id = templates_history.id " \
" and templates.version = templates_history.version) " \
"where templates_history.created_by_id is null"
op.execute(query)
def downgrade():
op.drop_column('notifications', 'template_version')
op.drop_column('jobs', 'template_version')