"""empty message

Revision ID: f4d4e8cfc0e3
Revises: 0792f6b2a584
Create Date: 2022-08-05 13:10:52.866888

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'f4d4e8cfc0e3'
down_revision = '0792f6b2a584'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('cmf_folder_executors',
    sa.Column('id', sa.String(length=64), 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_folder_executors_left_id'), 'cmf_folder_executors', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_executors_parent_id'), 'cmf_folder_executors', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_executors_right_id'), 'cmf_folder_executors', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_executors_root_id'), 'cmf_folder_executors', ['root_id'], unique=False)
    op.create_table('cmf_folder_spectators',
    sa.Column('id', sa.String(length=64), 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_folder_spectators_left_id'), 'cmf_folder_spectators', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_spectators_parent_id'), 'cmf_folder_spectators', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_spectators_right_id'), 'cmf_folder_spectators', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_spectators_root_id'), 'cmf_folder_spectators', ['root_id'], unique=False)
    op.add_column('cmf_folder', sa.Column('status_modified_at', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('status_in_progress_start', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('status_in_progress_end', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('status_review_at', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('status_closed_at', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('no_control', sa.Boolean(), nullable=True))
    op.add_column('cmf_folder', sa.Column('priority_old', sa.String(length=32), nullable=False, server_default='-'))
    op.add_column('cmf_folder', sa.Column('priority', sa.Integer(), nullable=False, server_default='0'))
    op.add_column('cmf_folder', sa.Column('mark', sa.String(length=32), nullable=True))
    op.add_column('cmf_folder', sa.Column('alarm_date', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('deadline', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('time_estimate', sa.Integer(), nullable=True))
    op.add_column('cmf_folder', sa.Column('plan_start_date', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('plan_end_date', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('period_next_date', sa.TIMESTAMP(timezone=True), nullable=True))
    op.add_column('cmf_folder', sa.Column('period_interval', sa.String(length=32), nullable=True))
    op.add_column('cmf_folder', sa.Column('is_template', sa.Boolean(), nullable=True))
    op.add_column('cmf_folder', sa.Column('is_penalty', sa.Boolean(), nullable=True))
    op.add_column('cmf_folder', sa.Column('cache_status_type', sa.String(length=32), nullable=True))
    op.add_column('cmf_folder', sa.Column('cache_fields', sa.TEXT(), nullable=True))
    op.add_column('cmf_folder', sa.Column('approved', sa.Boolean(), nullable=False, server_default='false'))
    op.add_column('cmf_folder', sa.Column('workflow_type', sa.String(), nullable=True))
    op.add_column('cmf_folder', sa.Column('workflow_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('default_task_workflow_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('status_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('company_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('responsible_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('waiting_for_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('cloned_from_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_folder', sa.Column('cache_status_opt_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_folder_alarm_date'), 'cmf_folder', ['alarm_date'], unique=False)
    op.create_index(op.f('ix_cmf_folder_approved'), 'cmf_folder', ['approved'], unique=False)
    op.create_index(op.f('ix_cmf_folder_cache_status_opt_id'), 'cmf_folder', ['cache_status_opt_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_cache_status_type'), 'cmf_folder', ['cache_status_type'], unique=False)
    op.create_index(op.f('ix_cmf_folder_cloned_from_id'), 'cmf_folder', ['cloned_from_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_company_id'), 'cmf_folder', ['company_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_default_task_workflow_id'), 'cmf_folder', ['default_task_workflow_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_is_template'), 'cmf_folder', ['is_template'], unique=False)
    op.create_index(op.f('ix_cmf_folder_responsible_id'), 'cmf_folder', ['responsible_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_status_id'), 'cmf_folder', ['status_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_waiting_for_id'), 'cmf_folder', ['waiting_for_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_workflow_id'), 'cmf_folder', ['workflow_id'], unique=False)
    op.create_index(op.f('ix_cmf_folder_workflow_type'), 'cmf_folder', ['workflow_type'], unique=False)
    op.create_foreign_key(None, 'cmf_folder', 'cmf_workflow', ['default_task_workflow_id'], ['id'])
    op.create_foreign_key(None, 'cmf_folder', 'cmf_status', ['status_id'], ['id'])
    op.create_foreign_key(None, 'cmf_folder', 'cmf_workflow', ['workflow_id'], ['id'])
    op.create_foreign_key(None, 'cmf_folder', 'cmf_company', ['company_id'], ['id'])
    op.create_foreign_key(None, 'cmf_folder', 'cmf_status_opt', ['cache_status_opt_id'], ['id'])
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_constraint(None, 'cmf_folder', type_='foreignkey')
    op.drop_constraint(None, 'cmf_folder', type_='foreignkey')
    op.drop_constraint(None, 'cmf_folder', type_='foreignkey')
    op.drop_constraint(None, 'cmf_folder', type_='foreignkey')
    op.drop_constraint(None, 'cmf_folder', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_folder_workflow_type'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_workflow_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_waiting_for_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_status_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_responsible_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_is_template'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_default_task_workflow_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_company_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_cloned_from_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_cache_status_type'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_cache_status_opt_id'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_approved'), table_name='cmf_folder')
    op.drop_index(op.f('ix_cmf_folder_alarm_date'), table_name='cmf_folder')
    op.drop_column('cmf_folder', 'cache_status_opt_id')
    op.drop_column('cmf_folder', 'cloned_from_id')
    op.drop_column('cmf_folder', 'waiting_for_id')
    op.drop_column('cmf_folder', 'responsible_id')
    op.drop_column('cmf_folder', 'company_id')
    op.drop_column('cmf_folder', 'status_id')
    op.drop_column('cmf_folder', 'default_task_workflow_id')
    op.drop_column('cmf_folder', 'workflow_id')
    op.drop_column('cmf_folder', 'workflow_type')
    op.drop_column('cmf_folder', 'approved')
    op.drop_column('cmf_folder', 'cache_fields')
    op.drop_column('cmf_folder', 'cache_status_type')
    op.drop_column('cmf_folder', 'is_penalty')
    op.drop_column('cmf_folder', 'is_template')
    op.drop_column('cmf_folder', 'period_interval')
    op.drop_column('cmf_folder', 'period_next_date')
    op.drop_column('cmf_folder', 'plan_end_date')
    op.drop_column('cmf_folder', 'plan_start_date')
    op.drop_column('cmf_folder', 'time_estimate')
    op.drop_column('cmf_folder', 'deadline')
    op.drop_column('cmf_folder', 'alarm_date')
    op.drop_column('cmf_folder', 'mark')
    op.drop_column('cmf_folder', 'priority')
    op.drop_column('cmf_folder', 'priority_old')
    op.drop_column('cmf_folder', 'no_control')
    op.drop_column('cmf_folder', 'status_closed_at')
    op.drop_column('cmf_folder', 'status_review_at')
    op.drop_column('cmf_folder', 'status_in_progress_end')
    op.drop_column('cmf_folder', 'status_in_progress_start')
    op.drop_column('cmf_folder', 'status_modified_at')
    op.drop_index(op.f('ix_cmf_folder_spectators_root_id'), table_name='cmf_folder_spectators')
    op.drop_index(op.f('ix_cmf_folder_spectators_right_id'), table_name='cmf_folder_spectators')
    op.drop_index(op.f('ix_cmf_folder_spectators_parent_id'), table_name='cmf_folder_spectators')
    op.drop_index(op.f('ix_cmf_folder_spectators_left_id'), table_name='cmf_folder_spectators')
    op.drop_table('cmf_folder_spectators')
    op.drop_index(op.f('ix_cmf_folder_executors_root_id'), table_name='cmf_folder_executors')
    op.drop_index(op.f('ix_cmf_folder_executors_right_id'), table_name='cmf_folder_executors')
    op.drop_index(op.f('ix_cmf_folder_executors_parent_id'), table_name='cmf_folder_executors')
    op.drop_index(op.f('ix_cmf_folder_executors_left_id'), table_name='cmf_folder_executors')
    op.drop_table('cmf_folder_executors')
    # ### end Alembic commands ###
