mirror of https://github.com/JohnHammond/CTFd.git
62 lines
1.8 KiB
Python
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 ###
|