123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- """Add hidden columns
- Revision ID: d0ffadc3ea48
- Revises:
- Create Date: 2017-09-04 15:19:38.519991
- """
- from alembic import op
- import sqlalchemy as sa
- import flaskbb
- # revision identifiers, used by Alembic.
- revision = 'd0ffadc3ea48'
- down_revision = '881dd22cab94'
- branch_labels = ()
- depends_on = None
- def upgrade():
- # ### commands auto generated by Alembic - please adjust! ###
- with op.batch_alter_table('groups', schema=None) as batch_op:
- batch_op.add_column(sa.Column('makehidden', sa.Boolean(), nullable=True, default=False))
- batch_op.add_column(sa.Column('viewhidden', sa.Boolean(), nullable=True, default=False))
- with op.batch_alter_table('groups', schema=None) as batch_op:
- groups = sa.sql.table(
- 'groups',
- sa.sql.column('viewhidden'), sa.sql.column('makehidden'),
- sa.sql.column('admin'), sa.sql.column('super_mod'), sa.sql.column('mod')
- )
- batch_op.execute(
- groups.update().where(
- sa.or_(
- groups.c.admin == True,
- groups.c.mod == True,
- groups.c.super_mod == True
- )
- ).values(viewhidden=True, makehidden=True)
- )
- batch_op.execute(
- groups.update().where(sa.and_(
- groups.c.admin != True,
- groups.c.mod != True,
- groups.c.super_mod != True
- )).values(viewhidden=False, makehidden=False)
- )
- batch_op.alter_column('viewhidden', existing_type=sa.Boolean(), nullable=False)
- batch_op.alter_column('makehidden', existing_type=sa.Boolean(), nullable=False)
- with op.batch_alter_table('posts', schema=None) as batch_op:
- batch_op.add_column(sa.Column('hidden', sa.Boolean(), nullable=True, default=False))
- batch_op.add_column(sa.Column('hidden_at', flaskbb.utils.database.UTCDateTime(timezone=True), nullable=True))
- batch_op.add_column(sa.Column('hidden_by_id', sa.Integer(), nullable=True))
- batch_op.create_foreign_key('fk_Post_hidden_by', 'users', ['hidden_by_id'], ['id'])
- with op.batch_alter_table('posts', schema=None) as batch_op:
- posts = sa.sql.table('posts', sa.sql.column('hidden'))
- batch_op.execute(
- posts.update().values(hidden=False)
- )
- batch_op.alter_column('hidden', existing_type=sa.Boolean(), nullable=False)
- with op.batch_alter_table('topics', schema=None) as batch_op:
- batch_op.add_column(sa.Column('hidden', sa.Boolean(), nullable=True))
- batch_op.add_column(sa.Column('hidden_at', flaskbb.utils.database.UTCDateTime(timezone=True), nullable=True))
- batch_op.add_column(sa.Column('hidden_by_id', sa.Integer(), nullable=True))
- batch_op.create_foreign_key('fk_Topic_hidden_by', 'users', ['hidden_by_id'], ['id'])
- with op.batch_alter_table('topics', schema=None) as batch_op:
- topics = sa.sql.table('topics', sa.sql.column('hidden'))
- batch_op.execute(
- topics.update().values(hidden=False)
- )
- batch_op.alter_column('hidden', existing_type=sa.Boolean(), nullable=False)
- # ### end Alembic commands ###
- def downgrade():
- # ### commands auto generated by Alembic - please adjust! ###
- with op.batch_alter_table('topics', schema=None) as batch_op:
- batch_op.drop_constraint('fk_Topic_hidden_by', type_='foreignkey')
- batch_op.drop_column('hidden_by_id')
- batch_op.drop_column('hidden_at')
- batch_op.drop_column('hidden')
- with op.batch_alter_table('posts', schema=None) as batch_op:
- batch_op.drop_constraint('fk_Post_hidden_by', type_='foreignkey')
- batch_op.drop_column('hidden_by_id')
- batch_op.drop_column('hidden_at')
- batch_op.drop_column('hidden')
- with op.batch_alter_table('groups', schema=None) as batch_op:
- batch_op.drop_column('viewhidden')
- batch_op.drop_column('makehidden')
- # ### end Alembic commands ###
|