"""Add import_raw_json

Revision ID: f3327386c223
Revises: 22b27dc47a99
Create Date: 2023-01-09 18:24:19.576313

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'f3327386c223'
down_revision = '22b27dc47a99'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('cmf_kanban_board',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('cmf_locked_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('cmf_created_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('cmf_modified_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('cmf_viewed_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('cmf_deleted', sa.Boolean(), nullable=False),
    sa.Column('cmf_version', sa.BIGINT(), nullable=True),
    sa.Column('name', sa.String(length=256), nullable=True),
    sa.Column('code', sa.String(length=64), nullable=True),
    sa.Column('system', sa.Boolean(), nullable=False),
    sa.Column('text', sa.TEXT(), nullable=True),
    sa.Column('import_original', sa.Boolean(), nullable=True),
    sa.Column('import_raw_json', sa.TEXT(), nullable=True),
    sa.Column('ext_id', sa.String(), nullable=True),
    sa.Column('is_favorite', sa.Boolean(), nullable=True),
    sa.Column('has_tree_nodes', sa.Boolean(), nullable=True),
    sa.Column('tree_node_is_branch', sa.Boolean(), nullable=True),
    sa.Column('tree_hidden', sa.Boolean(), nullable=True),
    sa.Column('orderno', sa.Integer(), nullable=True),
    sa.Column('perm_public', sa.Boolean(), nullable=True),
    sa.Column('perm_has_acl', sa.Boolean(), nullable=True),
    sa.Column('perm_inherit', sa.Boolean(), nullable=True),
    sa.Column('perm_parent_owner_id', sa.String(length=64), nullable=True),
    sa.Column('perm_inherit_acl_id', sa.String(length=64), nullable=True),
    sa.Column('perm_effective_acl_id', sa.String(length=64), nullable=True),
    sa.Column('perm_encrypt', sa.Boolean(), nullable=True),
    sa.Column('is_public', sa.Boolean(), nullable=True),
    sa.Column('is_public_editable', sa.Boolean(), nullable=True),
    sa.Column('is_public_comments', sa.Boolean(), nullable=True),
    sa.Column('logic_prefix', sa.String(), nullable=True),
    sa.Column('ui_view_form', sa.String(length=32), nullable=False),
    sa.Column('parent_logic_prefix', sa.String(), nullable=True),
    sa.Column('status_modified_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('status_in_progress_start', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('status_in_progress_end', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('status_review_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('status_closed_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('no_control', sa.Boolean(), nullable=True),
    sa.Column('priority', sa.Integer(), nullable=False),
    sa.Column('mark', sa.String(length=32), nullable=True),
    sa.Column('alarm_date', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('deadline', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('time_estimate', sa.Integer(), nullable=True),
    sa.Column('plan_start_date', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('plan_end_date', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('period_next_date', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('period_interval', sa.String(length=32), nullable=True),
    sa.Column('is_template', sa.Boolean(), nullable=True),
    sa.Column('is_penalty', sa.Boolean(), nullable=True),
    sa.Column('cache_status_type', sa.String(length=32), nullable=True),
    sa.Column('cache_fields', sa.TEXT(), nullable=True),
    sa.Column('approved', sa.Boolean(), nullable=False),
    sa.Column('perm_policy', sa.String(length=32), nullable=False),
    sa.Column('perm_policy_guest', sa.String(length=32), nullable=False),
    sa.Column('perm_policy_anonymous', sa.String(length=32), nullable=False),
    sa.Column('perm_policy_sharelink', sa.String(length=32), nullable=False),
    sa.Column('sharelink_hash', sa.String(length=32), nullable=True),
    sa.Column('cache_members_count', sa.Integer(), nullable=False),
    sa.Column('auto_favorite', sa.Boolean(), nullable=True),
    sa.Column('limit_days', sa.String(length=32), nullable=False),
    sa.Column('cmf_author_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_owner_id', sa.String(length=64), nullable=True),
    sa.Column('parent_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_modified_by_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_locked_by_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_import_id', sa.String(length=64), nullable=True),
    sa.Column('tree_parent_id', sa.String(length=64), nullable=True),
    sa.Column('perm_acl_id', sa.String(length=64), nullable=True),
    sa.Column('perm_parent_id', sa.String(length=64), nullable=True),
    sa.Column('workflow_id', sa.String(length=64), nullable=True),
    sa.Column('default_task_workflow_id', sa.String(length=64), nullable=True),
    sa.Column('logic_type_id', sa.String(length=64), nullable=True),
    sa.Column('scheme_wf_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_owner_assistant_id', sa.String(length=64), nullable=True),
    sa.Column('status_id', sa.String(length=64), nullable=True),
    sa.Column('company_id', sa.String(length=64), nullable=True),
    sa.Column('responsible_id', sa.String(length=64), nullable=True),
    sa.Column('waiting_for_id', sa.String(length=64), nullable=True),
    sa.Column('cloned_from_id', sa.String(length=64), nullable=True),
    sa.Column('activity_id', sa.String(length=64), nullable=True),
    sa.Column('cache_status_opt_id', sa.String(length=64), nullable=True),
    sa.Column('kanban_filter_id', sa.String(length=64), nullable=True),
    sa.ForeignKeyConstraint(['activity_id'], ['cmf_activity.id'], ),
    sa.ForeignKeyConstraint(['cache_status_opt_id'], ['cmf_status_opt.id'], ),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], ),
    sa.ForeignKeyConstraint(['company_id'], ['cmf_company.id'], ),
    sa.ForeignKeyConstraint(['default_task_workflow_id'], ['cmf_workflow.id'], ),
    sa.ForeignKeyConstraint(['kanban_filter_id'], ['cmf_task_filter.id'], ),
    sa.ForeignKeyConstraint(['logic_type_id'], ['cmf_logic_type.id'], ),
    sa.ForeignKeyConstraint(['perm_acl_id'], ['cmf_access_list.id'], ),
    sa.ForeignKeyConstraint(['scheme_wf_id'], ['cmf_scheme_wf.id'], ),
    sa.ForeignKeyConstraint(['status_id'], ['cmf_status.id'], ),
    sa.ForeignKeyConstraint(['workflow_id'], ['cmf_workflow.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_kanban_board_activity_id'), 'cmf_kanban_board', ['activity_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_alarm_date'), 'cmf_kanban_board', ['alarm_date'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_approved'), 'cmf_kanban_board', ['approved'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cache_status_opt_id'), 'cmf_kanban_board', ['cache_status_opt_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cache_status_type'), 'cmf_kanban_board', ['cache_status_type'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cloned_from_id'), 'cmf_kanban_board', ['cloned_from_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_author_id'), 'cmf_kanban_board', ['cmf_author_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_created_at'), 'cmf_kanban_board', ['cmf_created_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_deleted'), 'cmf_kanban_board', ['cmf_deleted'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_import_id'), 'cmf_kanban_board', ['cmf_import_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_locked_at'), 'cmf_kanban_board', ['cmf_locked_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_locked_by_id'), 'cmf_kanban_board', ['cmf_locked_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_modified_at'), 'cmf_kanban_board', ['cmf_modified_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_modified_by_id'), 'cmf_kanban_board', ['cmf_modified_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_owner_assistant_id'), 'cmf_kanban_board', ['cmf_owner_assistant_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_owner_id'), 'cmf_kanban_board', ['cmf_owner_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_version'), 'cmf_kanban_board', ['cmf_version'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_viewed_at'), 'cmf_kanban_board', ['cmf_viewed_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_code'), 'cmf_kanban_board', ['code'], unique=True)
    op.create_index(op.f('ix_cmf_kanban_board_company_id'), 'cmf_kanban_board', ['company_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_default_task_workflow_id'), 'cmf_kanban_board', ['default_task_workflow_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_is_template'), 'cmf_kanban_board', ['is_template'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_kanban_filter_id'), 'cmf_kanban_board', ['kanban_filter_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_logic_prefix'), 'cmf_kanban_board', ['logic_prefix'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_logic_type_id'), 'cmf_kanban_board', ['logic_type_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_name'), 'cmf_kanban_board', ['name'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_orderno'), 'cmf_kanban_board', ['orderno'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_parent_id'), 'cmf_kanban_board', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_parent_logic_prefix'), 'cmf_kanban_board', ['parent_logic_prefix'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_perm_acl_id'), 'cmf_kanban_board', ['perm_acl_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_perm_parent_id'), 'cmf_kanban_board', ['perm_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_responsible_id'), 'cmf_kanban_board', ['responsible_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_scheme_wf_id'), 'cmf_kanban_board', ['scheme_wf_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_status_id'), 'cmf_kanban_board', ['status_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_tree_parent_id'), 'cmf_kanban_board', ['tree_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_waiting_for_id'), 'cmf_kanban_board', ['waiting_for_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_workflow_id'), 'cmf_kanban_board', ['workflow_id'], unique=False)
    op.create_table('cmf_kanban_board_cmf_owner_assistants',
    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_kanban_board_cmf_owner_assistants_left_id'), 'cmf_kanban_board_cmf_owner_assistants', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_parent_id'), 'cmf_kanban_board_cmf_owner_assistants', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_right_id'), 'cmf_kanban_board_cmf_owner_assistants', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_root_id'), 'cmf_kanban_board_cmf_owner_assistants', ['root_id'], unique=False)
    op.create_table('cmf_kanban_board_column',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('cmf_locked_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('cmf_created_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('cmf_modified_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('cmf_viewed_at', sa.TIMESTAMP(timezone=True), nullable=True),
    sa.Column('cmf_deleted', sa.Boolean(), nullable=False),
    sa.Column('cmf_version', sa.BIGINT(), nullable=True),
    sa.Column('name', sa.String(length=256), nullable=True),
    sa.Column('code', sa.String(length=64), nullable=True),
    sa.Column('system', sa.Boolean(), nullable=False),
    sa.Column('text', sa.TEXT(), nullable=True),
    sa.Column('import_original', sa.Boolean(), nullable=True),
    sa.Column('import_raw_json', sa.TEXT(), nullable=True),
    sa.Column('ext_id', sa.String(), nullable=True),
    sa.Column('is_favorite', sa.Boolean(), nullable=True),
    sa.Column('has_tree_nodes', sa.Boolean(), nullable=True),
    sa.Column('tree_node_is_branch', sa.Boolean(), nullable=True),
    sa.Column('tree_hidden', sa.Boolean(), nullable=True),
    sa.Column('orderno', sa.Integer(), nullable=True),
    sa.Column('perm_public', sa.Boolean(), nullable=True),
    sa.Column('perm_has_acl', sa.Boolean(), nullable=True),
    sa.Column('perm_inherit', sa.Boolean(), nullable=True),
    sa.Column('perm_parent_owner_id', sa.String(length=64), nullable=True),
    sa.Column('perm_inherit_acl_id', sa.String(length=64), nullable=True),
    sa.Column('perm_effective_acl_id', sa.String(length=64), nullable=True),
    sa.Column('perm_encrypt', sa.Boolean(), nullable=True),
    sa.Column('color', sa.String(length=32), nullable=True),
    sa.Column('max_size', sa.Integer(), nullable=True),
    sa.Column('min_size', sa.Integer(), nullable=True),
    sa.Column('cmf_author_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_owner_id', sa.String(length=64), nullable=True),
    sa.Column('parent_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_modified_by_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_locked_by_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_import_id', sa.String(length=64), nullable=True),
    sa.Column('tree_parent_id', sa.String(length=64), nullable=True),
    sa.Column('perm_acl_id', sa.String(length=64), nullable=True),
    sa.Column('perm_parent_id', sa.String(length=64), nullable=True),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], ),
    sa.ForeignKeyConstraint(['parent_id'], ['cmf_kanban_board.id'], ),
    sa.ForeignKeyConstraint(['perm_acl_id'], ['cmf_access_list.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_author_id'), 'cmf_kanban_board_column', ['cmf_author_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_created_at'), 'cmf_kanban_board_column', ['cmf_created_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_deleted'), 'cmf_kanban_board_column', ['cmf_deleted'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_import_id'), 'cmf_kanban_board_column', ['cmf_import_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_locked_at'), 'cmf_kanban_board_column', ['cmf_locked_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_locked_by_id'), 'cmf_kanban_board_column', ['cmf_locked_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_modified_at'), 'cmf_kanban_board_column', ['cmf_modified_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_modified_by_id'), 'cmf_kanban_board_column', ['cmf_modified_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_owner_id'), 'cmf_kanban_board_column', ['cmf_owner_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_version'), 'cmf_kanban_board_column', ['cmf_version'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_viewed_at'), 'cmf_kanban_board_column', ['cmf_viewed_at'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_code'), 'cmf_kanban_board_column', ['code'], unique=True)
    op.create_index(op.f('ix_cmf_kanban_board_column_name'), 'cmf_kanban_board_column', ['name'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_orderno'), 'cmf_kanban_board_column', ['orderno'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_parent_id'), 'cmf_kanban_board_column', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_perm_acl_id'), 'cmf_kanban_board_column', ['perm_acl_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_perm_parent_id'), 'cmf_kanban_board_column', ['perm_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_tree_parent_id'), 'cmf_kanban_board_column', ['tree_parent_id'], unique=False)
    op.create_table('cmf_kanban_board_column_cmf_status_code',
    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.ForeignKeyConstraint(['left_id'], ['cmf_kanban_board_column.id'], ),
    sa.ForeignKeyConstraint(['right_id'], ['cmf_status_code.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_left_id'), 'cmf_kanban_board_column_cmf_status_code', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_parent_id'), 'cmf_kanban_board_column_cmf_status_code', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_right_id'), 'cmf_kanban_board_column_cmf_status_code', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_root_id'), 'cmf_kanban_board_column_cmf_status_code', ['root_id'], unique=False)
    op.create_table('cmf_kanban_board_executors',
    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_kanban_board_executors_left_id'), 'cmf_kanban_board_executors', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_executors_parent_id'), 'cmf_kanban_board_executors', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_executors_right_id'), 'cmf_kanban_board_executors', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_executors_root_id'), 'cmf_kanban_board_executors', ['root_id'], unique=False)
    op.create_table('cmf_kanban_board_quick_filters',
    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_kanban_board_quick_filters_left_id'), 'cmf_kanban_board_quick_filters', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_quick_filters_parent_id'), 'cmf_kanban_board_quick_filters', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_quick_filters_right_id'), 'cmf_kanban_board_quick_filters', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_quick_filters_root_id'), 'cmf_kanban_board_quick_filters', ['root_id'], unique=False)
    op.create_table('cmf_kanban_board_spectators',
    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_kanban_board_spectators_left_id'), 'cmf_kanban_board_spectators', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_spectators_parent_id'), 'cmf_kanban_board_spectators', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_spectators_right_id'), 'cmf_kanban_board_spectators', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_spectators_root_id'), 'cmf_kanban_board_spectators', ['root_id'], unique=False)
    op.create_table('cmf_kanban_board_swimlane_filters',
    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_kanban_board_swimlane_filters_left_id'), 'cmf_kanban_board_swimlane_filters', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_swimlane_filters_parent_id'), 'cmf_kanban_board_swimlane_filters', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_swimlane_filters_right_id'), 'cmf_kanban_board_swimlane_filters', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_kanban_board_swimlane_filters_root_id'), 'cmf_kanban_board_swimlane_filters', ['root_id'], unique=False)
    op.add_column('cmf_status_code', sa.Column('import_raw_json', sa.TEXT(), nullable=True))
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_column('cmf_status_code', 'import_raw_json')
    op.drop_index(op.f('ix_cmf_kanban_board_swimlane_filters_root_id'), table_name='cmf_kanban_board_swimlane_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_swimlane_filters_right_id'), table_name='cmf_kanban_board_swimlane_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_swimlane_filters_parent_id'), table_name='cmf_kanban_board_swimlane_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_swimlane_filters_left_id'), table_name='cmf_kanban_board_swimlane_filters')
    op.drop_table('cmf_kanban_board_swimlane_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_spectators_root_id'), table_name='cmf_kanban_board_spectators')
    op.drop_index(op.f('ix_cmf_kanban_board_spectators_right_id'), table_name='cmf_kanban_board_spectators')
    op.drop_index(op.f('ix_cmf_kanban_board_spectators_parent_id'), table_name='cmf_kanban_board_spectators')
    op.drop_index(op.f('ix_cmf_kanban_board_spectators_left_id'), table_name='cmf_kanban_board_spectators')
    op.drop_table('cmf_kanban_board_spectators')
    op.drop_index(op.f('ix_cmf_kanban_board_quick_filters_root_id'), table_name='cmf_kanban_board_quick_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_quick_filters_right_id'), table_name='cmf_kanban_board_quick_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_quick_filters_parent_id'), table_name='cmf_kanban_board_quick_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_quick_filters_left_id'), table_name='cmf_kanban_board_quick_filters')
    op.drop_table('cmf_kanban_board_quick_filters')
    op.drop_index(op.f('ix_cmf_kanban_board_executors_root_id'), table_name='cmf_kanban_board_executors')
    op.drop_index(op.f('ix_cmf_kanban_board_executors_right_id'), table_name='cmf_kanban_board_executors')
    op.drop_index(op.f('ix_cmf_kanban_board_executors_parent_id'), table_name='cmf_kanban_board_executors')
    op.drop_index(op.f('ix_cmf_kanban_board_executors_left_id'), table_name='cmf_kanban_board_executors')
    op.drop_table('cmf_kanban_board_executors')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_root_id'), table_name='cmf_kanban_board_column_cmf_status_code')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_right_id'), table_name='cmf_kanban_board_column_cmf_status_code')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_parent_id'), table_name='cmf_kanban_board_column_cmf_status_code')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_status_code_left_id'), table_name='cmf_kanban_board_column_cmf_status_code')
    op.drop_table('cmf_kanban_board_column_cmf_status_code')
    op.drop_index(op.f('ix_cmf_kanban_board_column_tree_parent_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_perm_parent_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_perm_acl_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_parent_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_orderno'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_name'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_code'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_viewed_at'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_version'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_owner_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_modified_by_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_modified_at'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_locked_by_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_locked_at'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_import_id'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_deleted'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_created_at'), table_name='cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_column_cmf_author_id'), table_name='cmf_kanban_board_column')
    op.drop_table('cmf_kanban_board_column')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_root_id'), table_name='cmf_kanban_board_cmf_owner_assistants')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_right_id'), table_name='cmf_kanban_board_cmf_owner_assistants')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_parent_id'), table_name='cmf_kanban_board_cmf_owner_assistants')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_owner_assistants_left_id'), table_name='cmf_kanban_board_cmf_owner_assistants')
    op.drop_table('cmf_kanban_board_cmf_owner_assistants')
    op.drop_index(op.f('ix_cmf_kanban_board_workflow_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_waiting_for_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_tree_parent_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_status_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_scheme_wf_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_responsible_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_perm_parent_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_perm_acl_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_parent_logic_prefix'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_parent_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_orderno'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_name'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_logic_type_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_logic_prefix'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_kanban_filter_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_is_template'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_default_task_workflow_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_company_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_code'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_viewed_at'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_version'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_owner_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_owner_assistant_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_modified_by_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_modified_at'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_locked_by_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_locked_at'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_import_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_deleted'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_created_at'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cmf_author_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cloned_from_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cache_status_type'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_cache_status_opt_id'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_approved'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_alarm_date'), table_name='cmf_kanban_board')
    op.drop_index(op.f('ix_cmf_kanban_board_activity_id'), table_name='cmf_kanban_board')
    op.drop_table('cmf_kanban_board')
    # ### end Alembic commands ###
