CTFd/migrations/versions/c12d2a1b0926_add_draft_and_...

62 lines
1.8 KiB
Python

"""Add draft and title to Pages
Revision ID: c12d2a1b0926
Revises: 2539d8b5082e
Create Date: 2017-12-02 18:20:02.820141
"""
from CTFd.models import db
from alembic import op
import sqlalchemy as sa
from sqlalchemy.sql import text, table, column
# revision identifiers, used by Alembic.
revision = 'c12d2a1b0926'
down_revision = '2539d8b5082e'
branch_labels = None
depends_on = None
pages_table = table('pages',
column('id', db.Integer),
column('route', db.String(80)),
column('title', db.String(80)),
column('draft', db.Boolean),
)
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
connection = op.get_bind()
op.add_column('pages', sa.Column('auth_required', sa.Boolean(), nullable=True))
op.add_column('pages', sa.Column('draft', sa.Boolean(), nullable=True))
op.add_column('pages', sa.Column('title', sa.String(length=80), nullable=True))
for page in connection.execute(pages_table.select()):
if page.route == 'index':
connection.execute(
pages_table.update().where(
pages_table.c.id == page.id
).values(
title=None,
draft=False
)
)
else:
connection.execute(
pages_table.update().where(
pages_table.c.id == page.id
).values(
title=page.route.title(),
draft=False
)
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('pages', 'auth_required')
op.drop_column('pages', 'title')
op.drop_column('pages', 'draft')
# ### end Alembic commands ###