"""cmf_project_admins

Revision ID: 37fcc975b21b
Revises: 3a55ef240534
Create Date: 2024-04-11 16:56:14.421127

"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql

# revision identifiers, used by Alembic.
revision = '37fcc975b21b'
down_revision = '3a55ef240534'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('cmf_project_cmf_project_admins',
    sa.Column('id', sa.String(length=128), nullable=False),
    sa.Column('parent_id', sa.String(length=64), nullable=True),
    sa.Column('root_id', sa.String(length=64), nullable=True),
    sa.Column('description', sa.String(length=4096), nullable=True),
    sa.Column('left_id', sa.String(length=64), nullable=True),
    sa.Column('right_id', sa.String(length=64), nullable=True),
    sa.Column('left_name_cache', sa.String(length=256), nullable=True),
    sa.Column('right_name_cache', sa.String(length=256), nullable=True),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_project_cmf_project_admins_left_id'), 'cmf_project_cmf_project_admins', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_project_cmf_project_admins_parent_id'), 'cmf_project_cmf_project_admins', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_project_cmf_project_admins_right_id'), 'cmf_project_cmf_project_admins', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_project_cmf_project_admins_root_id'), 'cmf_project_cmf_project_admins', ['root_id'], unique=False)
    op.add_column('cmf_project', sa.Column('protected_cmf_project_admins', sa.Boolean(), nullable=False, server_default="false"))
    op.add_column('cmf_project', sa.Column('protected_ui_form_scheme', sa.Boolean(), nullable=False, server_default="false"))
    op.add_column('cmf_project', sa.Column('protected_project_perm_scheme', sa.Boolean(), nullable=False, server_default="false"))
    op.add_column('cmf_project', sa.Column('protected_security_level_scheme', sa.Boolean(), nullable=False, server_default="false"))
    op.add_column('cmf_project', sa.Column('protected_notify_scheme', sa.Boolean(), nullable=False, server_default="false"))
    op.add_column('cmf_project', sa.Column('protected_scheme_wf', sa.Boolean(), nullable=False, server_default="false"))
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_column('cmf_project', 'protected_scheme_wf')
    op.drop_column('cmf_project', 'protected_notify_scheme')
    op.drop_column('cmf_project', 'protected_security_level_scheme')
    op.drop_column('cmf_project', 'protected_project_perm_scheme')
    op.drop_column('cmf_project', 'protected_ui_form_scheme')
    op.drop_column('cmf_project', 'protected_cmf_project_admins')
    op.drop_index(op.f('ix_cmf_project_cmf_project_admins_root_id'), table_name='cmf_project_cmf_project_admins')
    op.drop_index(op.f('ix_cmf_project_cmf_project_admins_right_id'), table_name='cmf_project_cmf_project_admins')
    op.drop_index(op.f('ix_cmf_project_cmf_project_admins_parent_id'), table_name='cmf_project_cmf_project_admins')
    op.drop_index(op.f('ix_cmf_project_cmf_project_admins_left_id'), table_name='cmf_project_cmf_project_admins')
    op.drop_table('cmf_project_cmf_project_admins')
    # ### end Alembic commands ###
