63eabbb0e837_add_makehidden_permission.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. """Add makehidden permission
  2. Revision ID: 63eabbb0e837
  3. Revises: 05da2ac3bd49
  4. Create Date: 2017-09-03 23:43:54.316625
  5. """
  6. from alembic import op
  7. import sqlalchemy as sa
  8. # revision identifiers, used by Alembic.
  9. revision = '63eabbb0e837'
  10. down_revision = '05da2ac3bd49'
  11. branch_labels = ()
  12. depends_on = None
  13. def upgrade():
  14. # ### commands auto generated by Alembic - please adjust! ###
  15. with op.batch_alter_table('groups', schema=None) as batch_op:
  16. batch_op.add_column(
  17. sa.Column('makehidden', sa.Boolean(), nullable=True)
  18. )
  19. with op.batch_alter_table('groups', schema=None) as batch_op:
  20. groups = sa.sql.table(
  21. 'groups',
  22. sa.sql.column('makehidden'),
  23. sa.sql.column('admin'), sa.sql.column('super_mod'), sa.sql.column('mod')
  24. )
  25. batch_op.execute(
  26. groups.update().where(
  27. sa.or_(
  28. groups.c.admin == True,
  29. groups.c.mod == True,
  30. groups.c.super_mod == True
  31. )
  32. ).values(makehidden=True)
  33. )
  34. batch_op.execute(
  35. groups.update().where(sa.and_(
  36. groups.c.admin != True,
  37. groups.c.mod != True,
  38. groups.c.super_mod != True
  39. )).values(makehidden=False)
  40. )
  41. batch_op.alter_column('makehidden', existing_type=sa.Boolean(), nullable=False)
  42. # ### end Alembic commands ###
  43. def downgrade():
  44. # ### commands auto generated by Alembic - please adjust! ###
  45. with op.batch_alter_table('groups', schema=None) as batch_op:
  46. batch_op.drop_column('makehidden')
  47. # ### end Alembic commands ###