"""evatest

Revision ID: c94a6ce1b5b5
Revises: c54cb4a84585
Create Date: 2025-02-06 13:53:32.196062

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

# revision identifiers, used by Alembic.
revision = 'c94a6ce1b5b5'
down_revision = 'c54cb4a84585'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_constraint('cmf_testcase_run_testcycle_testcase_result_id_fkey', 'cmf_testcase_run', type_='foreignkey')
    op.create_table('cmf_testcase_run_history',
    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=False),
    sa.Column('import_raw_json', sa.TEXT(), nullable=True),
    sa.Column('ext_id', sa.String(), nullable=True),
    sa.Column('cmf_archived', sa.Boolean(), nullable=False),
    sa.Column('is_favorite', sa.Boolean(), nullable=False),
    sa.Column('has_tree_nodes', sa.Boolean(), nullable=False),
    sa.Column('tree_node_is_branch', sa.Boolean(), nullable=False),
    sa.Column('tree_hidden', sa.Boolean(), nullable=False),
    sa.Column('sl_owner_lock', sa.Boolean(), nullable=False),
    sa.Column('orderno', sa.Integer(), nullable=True),
    sa.Column('perm_public', sa.Boolean(), nullable=False),
    sa.Column('perm_has_acl', sa.Boolean(), nullable=False),
    sa.Column('perm_inherit', sa.Boolean(), nullable=False),
    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_security_level_allowed_ids_cache', sa.TEXT(), nullable=True),
    sa.Column('perm_encrypt', sa.Boolean(), nullable=False),
    sa.Column('perm_encrypt_help', sa.String(length=256), nullable=True),
    sa.Column('status', sa.String(length=32), nullable=True),
    sa.Column('priority', sa.Integer(), nullable=False),
    sa.Column('estimate_time', sa.Integer(), nullable=True),
    sa.Column('spent_time', sa.Integer(), nullable=True),
    sa.Column('cur', sa.Boolean(), 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('root_parent_id', sa.String(length=64), nullable=True),
    sa.Column('project_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('cache_testcase_id', sa.String(length=64), nullable=True),
    sa.Column('release_id', sa.String(length=64), nullable=True),
    sa.Column('params_row_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.ForeignKeyConstraint(['cache_testcase_id'], ['cmf_testcase.id'], ),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], ),
    sa.ForeignKeyConstraint(['params_row_id'], ['cmf_testcase_params_row.id'], ),
    sa.ForeignKeyConstraint(['perm_acl_id'], ['cmf_access_list.id'], ),
    sa.ForeignKeyConstraint(['project_id'], ['cmf_project.id'], ),
    sa.ForeignKeyConstraint(['release_id'], ['cmf_list.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_testcase_run_history_cache_testcase_id'), 'cmf_testcase_run_history', ['cache_testcase_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_author_id'), 'cmf_testcase_run_history', ['cmf_author_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_created_at'), 'cmf_testcase_run_history', ['cmf_created_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_deleted'), 'cmf_testcase_run_history', ['cmf_deleted'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_import_id'), 'cmf_testcase_run_history', ['cmf_import_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_locked_at'), 'cmf_testcase_run_history', ['cmf_locked_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_locked_by_id'), 'cmf_testcase_run_history', ['cmf_locked_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_modified_at'), 'cmf_testcase_run_history', ['cmf_modified_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_modified_by_id'), 'cmf_testcase_run_history', ['cmf_modified_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_owner_id'), 'cmf_testcase_run_history', ['cmf_owner_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_version'), 'cmf_testcase_run_history', ['cmf_version'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_viewed_at'), 'cmf_testcase_run_history', ['cmf_viewed_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_code'), 'cmf_testcase_run_history', ['code'], unique=True)
    op.create_index(op.f('ix_cmf_testcase_run_history_name'), 'cmf_testcase_run_history', ['name'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_orderno'), 'cmf_testcase_run_history', ['orderno'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_params_row_id'), 'cmf_testcase_run_history', ['params_row_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_parent_id'), 'cmf_testcase_run_history', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_perm_acl_id'), 'cmf_testcase_run_history', ['perm_acl_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_perm_parent_id'), 'cmf_testcase_run_history', ['perm_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_project_id'), 'cmf_testcase_run_history', ['project_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_release_id'), 'cmf_testcase_run_history', ['release_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_responsible_id'), 'cmf_testcase_run_history', ['responsible_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_root_parent_id'), 'cmf_testcase_run_history', ['root_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_tree_parent_id'), 'cmf_testcase_run_history', ['tree_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_waiting_for_id'), 'cmf_testcase_run_history', ['waiting_for_id'], unique=False)
    op.create_table('cmf_testcase_run_history_cmf_task',
    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_testcase_run_history.id'], ),
    sa.ForeignKeyConstraint(['right_id'], ['cmf_task.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_task_left_id'), 'cmf_testcase_run_history_cmf_task', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_task_parent_id'), 'cmf_testcase_run_history_cmf_task', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_task_right_id'), 'cmf_testcase_run_history_cmf_task', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_cmf_task_root_id'), 'cmf_testcase_run_history_cmf_task', ['root_id'], unique=False)
    op.create_table('cmf_testcase_run_history_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_testcase_run_history_executors_left_id'), 'cmf_testcase_run_history_executors', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_executors_parent_id'), 'cmf_testcase_run_history_executors', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_executors_right_id'), 'cmf_testcase_run_history_executors', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_executors_root_id'), 'cmf_testcase_run_history_executors', ['root_id'], unique=False)
    op.create_table('cmf_testcase_run_history_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_testcase_run_history_spectators_left_id'), 'cmf_testcase_run_history_spectators', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_spectators_parent_id'), 'cmf_testcase_run_history_spectators', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_spectators_right_id'), 'cmf_testcase_run_history_spectators', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_spectators_root_id'), 'cmf_testcase_run_history_spectators', ['root_id'], unique=False)
    op.create_table('cmf_testcase_run_history_step',
    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=False),
    sa.Column('import_raw_json', sa.TEXT(), nullable=True),
    sa.Column('ext_id', sa.String(), nullable=True),
    sa.Column('cmf_archived', sa.Boolean(), nullable=False),
    sa.Column('is_favorite', sa.Boolean(), nullable=False),
    sa.Column('has_tree_nodes', sa.Boolean(), nullable=False),
    sa.Column('tree_node_is_branch', sa.Boolean(), nullable=False),
    sa.Column('tree_hidden', sa.Boolean(), nullable=False),
    sa.Column('sl_owner_lock', sa.Boolean(), nullable=False),
    sa.Column('orderno', sa.Integer(), nullable=True),
    sa.Column('perm_public', sa.Boolean(), nullable=False),
    sa.Column('perm_has_acl', sa.Boolean(), nullable=False),
    sa.Column('perm_inherit', sa.Boolean(), nullable=False),
    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_security_level_allowed_ids_cache', sa.TEXT(), nullable=True),
    sa.Column('perm_encrypt', sa.Boolean(), nullable=False),
    sa.Column('perm_encrypt_help', sa.String(length=256), nullable=True),
    sa.Column('step_section', sa.String(length=32), nullable=False),
    sa.Column('expected_result', sa.TEXT(), nullable=True),
    sa.Column('actual_result', sa.TEXT(), nullable=True),
    sa.Column('test_data', sa.TEXT(), nullable=True),
    sa.Column('comment', sa.TEXT(), nullable=True),
    sa.Column('status', sa.String(length=32), 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('root_parent_id', sa.String(length=64), nullable=True),
    sa.Column('project_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('testcase_step_id', sa.String(length=64), nullable=True),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], ),
    sa.ForeignKeyConstraint(['perm_acl_id'], ['cmf_access_list.id'], ),
    sa.ForeignKeyConstraint(['project_id'], ['cmf_project.id'], ),
    sa.ForeignKeyConstraint(['testcase_step_id'], ['cmf_testcase_step.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_author_id'), 'cmf_testcase_run_history_step', ['cmf_author_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_created_at'), 'cmf_testcase_run_history_step', ['cmf_created_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_deleted'), 'cmf_testcase_run_history_step', ['cmf_deleted'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_import_id'), 'cmf_testcase_run_history_step', ['cmf_import_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_locked_at'), 'cmf_testcase_run_history_step', ['cmf_locked_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_locked_by_id'), 'cmf_testcase_run_history_step', ['cmf_locked_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_modified_at'), 'cmf_testcase_run_history_step', ['cmf_modified_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_modified_by_id'), 'cmf_testcase_run_history_step', ['cmf_modified_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_owner_id'), 'cmf_testcase_run_history_step', ['cmf_owner_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_version'), 'cmf_testcase_run_history_step', ['cmf_version'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_viewed_at'), 'cmf_testcase_run_history_step', ['cmf_viewed_at'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_code'), 'cmf_testcase_run_history_step', ['code'], unique=True)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_name'), 'cmf_testcase_run_history_step', ['name'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_orderno'), 'cmf_testcase_run_history_step', ['orderno'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_parent_id'), 'cmf_testcase_run_history_step', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_perm_acl_id'), 'cmf_testcase_run_history_step', ['perm_acl_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_perm_parent_id'), 'cmf_testcase_run_history_step', ['perm_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_project_id'), 'cmf_testcase_run_history_step', ['project_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_root_parent_id'), 'cmf_testcase_run_history_step', ['root_parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_testcase_step_id'), 'cmf_testcase_run_history_step', ['testcase_step_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_tree_parent_id'), 'cmf_testcase_run_history_step', ['tree_parent_id'], unique=False)
    op.create_table('cmf_testcase_run_history_step_cmf_task',
    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_testcase_run_history_step.id'], ),
    sa.ForeignKeyConstraint(['right_id'], ['cmf_task.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_left_id'), 'cmf_testcase_run_history_step_cmf_task', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_parent_id'), 'cmf_testcase_run_history_step_cmf_task', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_right_id'), 'cmf_testcase_run_history_step_cmf_task', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_root_id'), 'cmf_testcase_run_history_step_cmf_task', ['root_id'], unique=False)
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_author_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_created_at', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_deleted', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_import_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_locked_at', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_locked_by_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_modified_at', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_modified_by_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_owner_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_version', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cmf_viewed_at', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_code', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_cur_testcase_run_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_environment_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_name', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_orderno', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_params_row_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_parent_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_perm_acl_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_perm_parent_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_project_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_responsible_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_root_parent_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_test_configuration_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_testcase_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_testcycle_testcase_folder_id', table_name='cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testcycle_testcase_result_tree_parent_id', table_name='cmf_testcycle_testcase_result')
    op.drop_table('cmf_testcycle_testcase_result')
    op.drop_index('ix_cmf_testplan_testcase_folder_spectators_left_id', table_name='cmf_testplan_testcase_folder_spectators')
    op.drop_index('ix_cmf_testplan_testcase_folder_spectators_parent_id', table_name='cmf_testplan_testcase_folder_spectators')
    op.drop_index('ix_cmf_testplan_testcase_folder_spectators_right_id', table_name='cmf_testplan_testcase_folder_spectators')
    op.drop_index('ix_cmf_testplan_testcase_folder_spectators_root_id', table_name='cmf_testplan_testcase_folder_spectators')
    op.drop_table('cmf_testplan_testcase_folder_spectators')
    op.drop_index('ix_cmf_testcase_run_executors_left_id', table_name='cmf_testcase_run_executors')
    op.drop_index('ix_cmf_testcase_run_executors_parent_id', table_name='cmf_testcase_run_executors')
    op.drop_index('ix_cmf_testcase_run_executors_right_id', table_name='cmf_testcase_run_executors')
    op.drop_index('ix_cmf_testcase_run_executors_root_id', table_name='cmf_testcase_run_executors')
    op.drop_table('cmf_testcase_run_executors')
    op.drop_index('ix_cmf_testcycle_testcase_folder_local_links_left_id', table_name='cmf_testcycle_testcase_folder_local_links')
    op.drop_index('ix_cmf_testcycle_testcase_folder_local_links_parent_id', table_name='cmf_testcycle_testcase_folder_local_links')
    op.drop_index('ix_cmf_testcycle_testcase_folder_local_links_right_id', table_name='cmf_testcycle_testcase_folder_local_links')
    op.drop_index('ix_cmf_testcycle_testcase_folder_local_links_root_id', table_name='cmf_testcycle_testcase_folder_local_links')
    op.drop_table('cmf_testcycle_testcase_folder_local_links')
    op.drop_index('ix_cmf_testcase_run_step_cmf_author_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_created_at', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_deleted', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_import_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_locked_at', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_locked_by_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_modified_at', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_modified_by_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_owner_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_version', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_cmf_viewed_at', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_code', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_name', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_orderno', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_parent_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_parent_step_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_perm_acl_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_perm_parent_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_project_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_root_parent_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_testcase_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_testcase_step_id', table_name='cmf_testcase_run_step')
    op.drop_index('ix_cmf_testcase_run_step_tree_parent_id', table_name='cmf_testcase_run_step')
    # Удаляем внешние ключи, ссылающиеся на таблицу
    op.drop_constraint('cmf_testcase_run_step_cmf_task_left_id_fkey', 'cmf_testcase_run_step_cmf_task', type_='foreignkey')

    # Теперь можно удалить таблицу
    op.drop_table('cmf_testcase_run_step')

    op.drop_index('ix_cmf_testcycle_testcase_folder_spectators_left_id', table_name='cmf_testcycle_testcase_folder_spectators')
    op.drop_index('ix_cmf_testcycle_testcase_folder_spectators_parent_id', table_name='cmf_testcycle_testcase_folder_spectators')
    op.drop_index('ix_cmf_testcycle_testcase_folder_spectators_right_id', table_name='cmf_testcycle_testcase_folder_spectators')
    op.drop_index('ix_cmf_testcycle_testcase_folder_spectators_root_id', table_name='cmf_testcycle_testcase_folder_spectators')
    op.drop_table('cmf_testcycle_testcase_folder_spectators')
    op.drop_index('ix_cmf_testplan_testcase_folder_local_links_left_id', table_name='cmf_testplan_testcase_folder_local_links')
    op.drop_index('ix_cmf_testplan_testcase_folder_local_links_parent_id', table_name='cmf_testplan_testcase_folder_local_links')
    op.drop_index('ix_cmf_testplan_testcase_folder_local_links_right_id', table_name='cmf_testplan_testcase_folder_local_links')
    op.drop_index('ix_cmf_testplan_testcase_folder_local_links_root_id', table_name='cmf_testplan_testcase_folder_local_links')
    op.drop_table('cmf_testplan_testcase_folder_local_links')
    op.drop_index('ix_cmf_testcase_run_spectators_left_id', table_name='cmf_testcase_run_spectators')
    op.drop_index('ix_cmf_testcase_run_spectators_parent_id', table_name='cmf_testcase_run_spectators')
    op.drop_index('ix_cmf_testcase_run_spectators_right_id', table_name='cmf_testcase_run_spectators')
    op.drop_index('ix_cmf_testcase_run_spectators_root_id', table_name='cmf_testcase_run_spectators')
    op.drop_table('cmf_testcase_run_spectators')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_left_id', table_name='cmf_testcycle_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_parent_id', table_name='cmf_testcycle_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_right_id', table_name='cmf_testcycle_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_root_id', table_name='cmf_testcycle_testcase_folder_cmf_owner_assistants')
    op.drop_table('cmf_testcycle_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testplan_testcase_folder_executors_left_id', table_name='cmf_testplan_testcase_folder_executors')
    op.drop_index('ix_cmf_testplan_testcase_folder_executors_parent_id', table_name='cmf_testplan_testcase_folder_executors')
    op.drop_index('ix_cmf_testplan_testcase_folder_executors_right_id', table_name='cmf_testplan_testcase_folder_executors')
    op.drop_index('ix_cmf_testplan_testcase_folder_executors_root_id', table_name='cmf_testplan_testcase_folder_executors')
    op.drop_table('cmf_testplan_testcase_folder_executors')
    op.drop_index('ix_cmf_testcase_run_cmf_task_left_id', table_name='cmf_testcase_run_cmf_task')
    op.drop_index('ix_cmf_testcase_run_cmf_task_parent_id', table_name='cmf_testcase_run_cmf_task')
    op.drop_index('ix_cmf_testcase_run_cmf_task_right_id', table_name='cmf_testcase_run_cmf_task')
    op.drop_index('ix_cmf_testcase_run_cmf_task_root_id', table_name='cmf_testcase_run_cmf_task')
    op.drop_table('cmf_testcase_run_cmf_task')
    op.drop_index('ix_cmf_testcase_run_step_cmf_task_left_id', table_name='cmf_testcase_run_step_cmf_task')
    op.drop_index('ix_cmf_testcase_run_step_cmf_task_parent_id', table_name='cmf_testcase_run_step_cmf_task')
    op.drop_index('ix_cmf_testcase_run_step_cmf_task_right_id', table_name='cmf_testcase_run_step_cmf_task')
    op.drop_index('ix_cmf_testcase_run_step_cmf_task_root_id', table_name='cmf_testcase_run_step_cmf_task')
    op.drop_table('cmf_testcase_run_step_cmf_task')
    op.drop_index('ix_cmf_testcycle_testcase_folder_executors_left_id', table_name='cmf_testcycle_testcase_folder_executors')
    op.drop_index('ix_cmf_testcycle_testcase_folder_executors_parent_id', table_name='cmf_testcycle_testcase_folder_executors')
    op.drop_index('ix_cmf_testcycle_testcase_folder_executors_right_id', table_name='cmf_testcycle_testcase_folder_executors')
    op.drop_index('ix_cmf_testcycle_testcase_folder_executors_root_id', table_name='cmf_testcycle_testcase_folder_executors')
    op.drop_table('cmf_testcycle_testcase_folder_executors')
    op.drop_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_left_id', table_name='cmf_testplan_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_parent_id', table_name='cmf_testplan_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_right_id', table_name='cmf_testplan_testcase_folder_cmf_owner_assistants')
    op.drop_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_root_id', table_name='cmf_testplan_testcase_folder_cmf_owner_assistants')
    op.drop_table('cmf_testplan_testcase_folder_cmf_owner_assistants')
    op.drop_column('cmf_test_configuration', 'variables')
    op.execute("TRUNCATE TABLE cmf_testcase_param")
    op.add_column('cmf_testcase_param', sa.Column('cache_testcase_id', sa.String(length=64), nullable=False))
    op.drop_index('ix_cmf_testcase_param_testcase_id', table_name='cmf_testcase_param')
    op.create_index(op.f('ix_cmf_testcase_param_cache_testcase_id'), 'cmf_testcase_param', ['cache_testcase_id'], unique=False)
    op.drop_constraint('cmf_testcase_param_testcase_id_fkey', 'cmf_testcase_param', type_='foreignkey')
    op.create_foreign_key(None, 'cmf_testcase_param', 'cmf_testcase', ['cache_testcase_id'], ['id'])
    op.drop_column('cmf_testcase_param', 'testcase_id')
    op.drop_constraint('cmf_testcase_params_row_parent_id_fkey', 'cmf_testcase_params_row', type_='foreignkey')
    op.add_column('cmf_testcase_run', sa.Column('iteration', sa.Integer(), nullable=False, server_default='0'))
    op.add_column('cmf_testcase_run', sa.Column('environment_id', sa.String(length=64), nullable=True))
    op.add_column('cmf_testcase_run', sa.Column('cur_testcase_run_id', sa.String(length=64), nullable=True))
    op.alter_column('cmf_testcase_run', 'testcase_id',
               existing_type=sa.VARCHAR(length=64),
               nullable=False)
    op.drop_index('ix_cmf_testcase_run_release_id', table_name='cmf_testcase_run')
    op.drop_index('ix_cmf_testcase_run_testcycle_testcase_result_id', table_name='cmf_testcase_run')
    op.drop_index('ix_cmf_testcase_run_waiting_for_id', table_name='cmf_testcase_run')
    op.create_index(op.f('ix_cmf_testcase_run_cur_testcase_run_id'), 'cmf_testcase_run', ['cur_testcase_run_id'], unique=False)
    op.create_index(op.f('ix_cmf_testcase_run_environment_id'), 'cmf_testcase_run', ['environment_id'], unique=False)
    op.drop_constraint('cmf_testcase_run_release_id_fkey', 'cmf_testcase_run', type_='foreignkey')
    
    op.create_foreign_key(None, 'cmf_testcase_run', 'cmf_testcase_run_history', ['cur_testcase_run_id'], ['id'])
    op.create_foreign_key(None, 'cmf_testcase_run', 'cmf_test_environment', ['environment_id'], ['id'])
    op.drop_column('cmf_testcase_run', 'waiting_for_id')
    op.drop_column('cmf_testcase_run', 'testcycle_testcase_result_id')
    op.drop_column('cmf_testcase_run', 'release_id')
    op.add_column('cmf_testcycle', sa.Column('testcase_run_cache', sa.TEXT(), nullable=True))
    op.drop_column('cmf_testcycle', 'testcase_result_cache')
    op.drop_index('ix_cmf_testcycle_testcase_folder_activity_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_alarm_date', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_approved', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cache_status_opt_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cache_status_type', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cloned_from_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistant_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_company_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_deadline', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_default_task_workflow_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_is_template', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_logic_prefix', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_logic_type_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_parent_logic_prefix', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_perm_security_level_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_resolution_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_responsible_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_scheme_wf_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_status_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_waiting_for_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_index('ix_cmf_testcycle_testcase_folder_workflow_id', table_name='cmf_testcycle_testcase_folder')
    op.drop_constraint('cmf_testcycle_testcase_folder_default_task_workflow_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_resolution_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_logic_type_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_activity_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_scheme_wf_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_cache_status_opt_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_status_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_company_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_workflow_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testcycle_testcase_folder_perm_security_level_id_fkey', 'cmf_testcycle_testcase_folder', type_='foreignkey')
    op.drop_column('cmf_testcycle_testcase_folder', 'plan_end_date')
    op.drop_column('cmf_testcycle_testcase_folder', 'cloned_from_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'parent_logic_prefix')
    op.drop_column('cmf_testcycle_testcase_folder', 'is_public_comments')
    op.drop_column('cmf_testcycle_testcase_folder', 'approved')
    op.drop_column('cmf_testcycle_testcase_folder', 'cache_fields')
    op.drop_column('cmf_testcycle_testcase_folder', 'is_penalty')
    op.drop_column('cmf_testcycle_testcase_folder', 'activity_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'mark')
    op.drop_column('cmf_testcycle_testcase_folder', 'has_children_archived')
    op.drop_column('cmf_testcycle_testcase_folder', 'ui_view_form')
    op.drop_column('cmf_testcycle_testcase_folder', 'status_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'alarm_date')
    op.drop_column('cmf_testcycle_testcase_folder', 'period_next_date')
    op.drop_column('cmf_testcycle_testcase_folder', 'cache_status_opt_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'user_rating_count')
    op.drop_column('cmf_testcycle_testcase_folder', 'is_public_editable')
    op.drop_column('cmf_testcycle_testcase_folder', 'status_modified_at')
    op.drop_column('cmf_testcycle_testcase_folder', 'status_review_at')
    op.drop_column('cmf_testcycle_testcase_folder', 'user_rating')
    op.drop_column('cmf_testcycle_testcase_folder', 'period_interval')
    op.drop_column('cmf_testcycle_testcase_folder', 'perm_policy_guest')
    op.drop_column('cmf_testcycle_testcase_folder', 'perm_policy_sharelink')
    op.drop_column('cmf_testcycle_testcase_folder', 'perm_security_level_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'workflow_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'logic_type_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'company_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'status_in_progress_start')
    op.drop_column('cmf_testcycle_testcase_folder', 'logic_prefix')
    op.drop_column('cmf_testcycle_testcase_folder', 'plan_start_date')
    op.drop_column('cmf_testcycle_testcase_folder', 'default_task_workflow_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'priority')
    op.drop_column('cmf_testcycle_testcase_folder', 'ui_view_form_options')
    op.drop_column('cmf_testcycle_testcase_folder', 'no_control')
    op.drop_column('cmf_testcycle_testcase_folder', 'status_closed_at')
    op.drop_column('cmf_testcycle_testcase_folder', 'is_public')
    op.drop_column('cmf_testcycle_testcase_folder', 'perm_policy')
    op.drop_column('cmf_testcycle_testcase_folder', 'status_in_progress_end')
    op.drop_column('cmf_testcycle_testcase_folder', 'is_template')
    op.drop_column('cmf_testcycle_testcase_folder', 'cache_status_type')
    op.drop_column('cmf_testcycle_testcase_folder', 'perm_policy_anonymous')
    op.drop_column('cmf_testcycle_testcase_folder', 'responsible_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'deadline')
    op.drop_column('cmf_testcycle_testcase_folder', 'cmf_owner_assistant_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'sharelink_hash')
    op.drop_column('cmf_testcycle_testcase_folder', 'waiting_for_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'resolution_id')
    op.drop_column('cmf_testcycle_testcase_folder', 'scheme_wf_id')
    op.drop_index('ix_cmf_testplan_testcase_folder_activity_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_alarm_date', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_approved', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_cache_status_opt_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_cache_status_type', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_cloned_from_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistant_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_company_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_deadline', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_default_task_workflow_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_is_template', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_logic_prefix', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_logic_type_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_parent_logic_prefix', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_perm_security_level_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_resolution_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_responsible_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_scheme_wf_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_status_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_waiting_for_id', table_name='cmf_testplan_testcase_folder')
    op.drop_index('ix_cmf_testplan_testcase_folder_workflow_id', table_name='cmf_testplan_testcase_folder')
    op.drop_constraint('cmf_testplan_testcase_folder_workflow_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_company_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_perm_security_level_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_default_task_workflow_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_status_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_logic_type_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_scheme_wf_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_cache_status_opt_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_activity_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_constraint('cmf_testplan_testcase_folder_resolution_id_fkey', 'cmf_testplan_testcase_folder', type_='foreignkey')
    op.drop_column('cmf_testplan_testcase_folder', 'plan_end_date')
    op.drop_column('cmf_testplan_testcase_folder', 'cloned_from_id')
    op.drop_column('cmf_testplan_testcase_folder', 'parent_logic_prefix')
    op.drop_column('cmf_testplan_testcase_folder', 'is_public_comments')
    op.drop_column('cmf_testplan_testcase_folder', 'approved')
    op.drop_column('cmf_testplan_testcase_folder', 'cache_fields')
    op.drop_column('cmf_testplan_testcase_folder', 'is_penalty')
    op.drop_column('cmf_testplan_testcase_folder', 'activity_id')
    op.drop_column('cmf_testplan_testcase_folder', 'mark')
    op.drop_column('cmf_testplan_testcase_folder', 'has_children_archived')
    op.drop_column('cmf_testplan_testcase_folder', 'ui_view_form')
    op.drop_column('cmf_testplan_testcase_folder', 'status_id')
    op.drop_column('cmf_testplan_testcase_folder', 'alarm_date')
    op.drop_column('cmf_testplan_testcase_folder', 'period_next_date')
    op.drop_column('cmf_testplan_testcase_folder', 'cache_status_opt_id')
    op.drop_column('cmf_testplan_testcase_folder', 'user_rating_count')
    op.drop_column('cmf_testplan_testcase_folder', 'is_public_editable')
    op.drop_column('cmf_testplan_testcase_folder', 'status_modified_at')
    op.drop_column('cmf_testplan_testcase_folder', 'status_review_at')
    op.drop_column('cmf_testplan_testcase_folder', 'user_rating')
    op.drop_column('cmf_testplan_testcase_folder', 'period_interval')
    op.drop_column('cmf_testplan_testcase_folder', 'perm_policy_guest')
    op.drop_column('cmf_testplan_testcase_folder', 'perm_policy_sharelink')
    op.drop_column('cmf_testplan_testcase_folder', 'perm_security_level_id')
    op.drop_column('cmf_testplan_testcase_folder', 'workflow_id')
    op.drop_column('cmf_testplan_testcase_folder', 'logic_type_id')
    op.drop_column('cmf_testplan_testcase_folder', 'company_id')
    op.drop_column('cmf_testplan_testcase_folder', 'status_in_progress_start')
    op.drop_column('cmf_testplan_testcase_folder', 'logic_prefix')
    op.drop_column('cmf_testplan_testcase_folder', 'plan_start_date')
    op.drop_column('cmf_testplan_testcase_folder', 'default_task_workflow_id')
    op.drop_column('cmf_testplan_testcase_folder', 'priority')
    op.drop_column('cmf_testplan_testcase_folder', 'ui_view_form_options')
    op.drop_column('cmf_testplan_testcase_folder', 'no_control')
    op.drop_column('cmf_testplan_testcase_folder', 'status_closed_at')
    op.drop_column('cmf_testplan_testcase_folder', 'is_public')
    op.drop_column('cmf_testplan_testcase_folder', 'perm_policy')
    op.drop_column('cmf_testplan_testcase_folder', 'status_in_progress_end')
    op.drop_column('cmf_testplan_testcase_folder', 'is_template')
    op.drop_column('cmf_testplan_testcase_folder', 'cache_status_type')
    op.drop_column('cmf_testplan_testcase_folder', 'perm_policy_anonymous')
    op.drop_column('cmf_testplan_testcase_folder', 'responsible_id')
    op.drop_column('cmf_testplan_testcase_folder', 'deadline')
    op.drop_column('cmf_testplan_testcase_folder', 'cmf_owner_assistant_id')
    op.drop_column('cmf_testplan_testcase_folder', 'sharelink_hash')
    op.drop_column('cmf_testplan_testcase_folder', 'waiting_for_id')
    op.drop_column('cmf_testplan_testcase_folder', 'resolution_id')
    op.drop_column('cmf_testplan_testcase_folder', 'scheme_wf_id')
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('cmf_testplan_testcase_folder', sa.Column('scheme_wf_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('resolution_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('waiting_for_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('sharelink_hash', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('cmf_owner_assistant_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('deadline', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('responsible_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('perm_policy_anonymous', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('cache_status_type', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('is_template', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('status_in_progress_end', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('perm_policy', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('is_public', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('status_closed_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('no_control', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('ui_view_form_options', sa.TEXT(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('priority', sa.INTEGER(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('default_task_workflow_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('plan_start_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('logic_prefix', sa.VARCHAR(), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('status_in_progress_start', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('company_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('logic_type_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('workflow_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('perm_security_level_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('perm_policy_sharelink', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('perm_policy_guest', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('period_interval', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('user_rating', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('status_review_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('status_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('is_public_editable', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('user_rating_count', sa.INTEGER(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('cache_status_opt_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('period_next_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('alarm_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('status_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('ui_view_form', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('has_children_archived', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('mark', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('activity_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('is_penalty', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('cache_fields', sa.TEXT(), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('approved', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('is_public_comments', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('parent_logic_prefix', sa.VARCHAR(), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('cloned_from_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testplan_testcase_folder', sa.Column('plan_end_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.create_foreign_key('cmf_testplan_testcase_folder_resolution_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_resolution', ['resolution_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_activity_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_activity', ['activity_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_cache_status_opt_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_status_opt', ['cache_status_opt_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_scheme_wf_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_scheme_wf', ['scheme_wf_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_logic_type_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_logic_type', ['logic_type_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_status_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_status', ['status_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_default_task_workflow_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_workflow', ['default_task_workflow_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_perm_security_level_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_security_level', ['perm_security_level_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_company_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_company', ['company_id'], ['id'])
    op.create_foreign_key('cmf_testplan_testcase_folder_workflow_id_fkey', 'cmf_testplan_testcase_folder', 'cmf_workflow', ['workflow_id'], ['id'])
    op.create_index('ix_cmf_testplan_testcase_folder_workflow_id', 'cmf_testplan_testcase_folder', ['workflow_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_waiting_for_id', 'cmf_testplan_testcase_folder', ['waiting_for_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_status_id', 'cmf_testplan_testcase_folder', ['status_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_scheme_wf_id', 'cmf_testplan_testcase_folder', ['scheme_wf_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_responsible_id', 'cmf_testplan_testcase_folder', ['responsible_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_resolution_id', 'cmf_testplan_testcase_folder', ['resolution_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_perm_security_level_id', 'cmf_testplan_testcase_folder', ['perm_security_level_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_parent_logic_prefix', 'cmf_testplan_testcase_folder', ['parent_logic_prefix'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_logic_type_id', 'cmf_testplan_testcase_folder', ['logic_type_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_logic_prefix', 'cmf_testplan_testcase_folder', ['logic_prefix'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_is_template', 'cmf_testplan_testcase_folder', ['is_template'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_default_task_workflow_id', 'cmf_testplan_testcase_folder', ['default_task_workflow_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_deadline', 'cmf_testplan_testcase_folder', ['deadline'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_company_id', 'cmf_testplan_testcase_folder', ['company_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistant_id', 'cmf_testplan_testcase_folder', ['cmf_owner_assistant_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cloned_from_id', 'cmf_testplan_testcase_folder', ['cloned_from_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cache_status_type', 'cmf_testplan_testcase_folder', ['cache_status_type'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cache_status_opt_id', 'cmf_testplan_testcase_folder', ['cache_status_opt_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_approved', 'cmf_testplan_testcase_folder', ['approved'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_alarm_date', 'cmf_testplan_testcase_folder', ['alarm_date'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_activity_id', 'cmf_testplan_testcase_folder', ['activity_id'], unique=False)
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('scheme_wf_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('resolution_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('waiting_for_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('sharelink_hash', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('cmf_owner_assistant_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('deadline', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('responsible_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('perm_policy_anonymous', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('cache_status_type', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('is_template', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('status_in_progress_end', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('perm_policy', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('is_public', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('status_closed_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('no_control', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('ui_view_form_options', sa.TEXT(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('priority', sa.INTEGER(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('default_task_workflow_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('plan_start_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('logic_prefix', sa.VARCHAR(), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('status_in_progress_start', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('company_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('logic_type_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('workflow_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('perm_security_level_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('perm_policy_sharelink', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('perm_policy_guest', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('period_interval', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('user_rating', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('status_review_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('status_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('is_public_editable', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('user_rating_count', sa.INTEGER(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('cache_status_opt_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('period_next_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('alarm_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('status_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('ui_view_form', sa.VARCHAR(length=32), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('has_children_archived', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('mark', sa.VARCHAR(length=32), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('activity_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('is_penalty', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('cache_fields', sa.TEXT(), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('approved', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('is_public_comments', sa.BOOLEAN(), autoincrement=False, nullable=False))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('parent_logic_prefix', sa.VARCHAR(), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('cloned_from_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcycle_testcase_folder', sa.Column('plan_end_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True))
    op.create_foreign_key('cmf_testcycle_testcase_folder_perm_security_level_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_security_level', ['perm_security_level_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_workflow_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_workflow', ['workflow_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_company_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_company', ['company_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_status_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_status', ['status_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_cache_status_opt_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_status_opt', ['cache_status_opt_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_scheme_wf_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_scheme_wf', ['scheme_wf_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_activity_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_activity', ['activity_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_logic_type_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_logic_type', ['logic_type_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_resolution_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_resolution', ['resolution_id'], ['id'])
    op.create_foreign_key('cmf_testcycle_testcase_folder_default_task_workflow_id_fkey', 'cmf_testcycle_testcase_folder', 'cmf_workflow', ['default_task_workflow_id'], ['id'])
    op.create_index('ix_cmf_testcycle_testcase_folder_workflow_id', 'cmf_testcycle_testcase_folder', ['workflow_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_waiting_for_id', 'cmf_testcycle_testcase_folder', ['waiting_for_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_status_id', 'cmf_testcycle_testcase_folder', ['status_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_scheme_wf_id', 'cmf_testcycle_testcase_folder', ['scheme_wf_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_responsible_id', 'cmf_testcycle_testcase_folder', ['responsible_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_resolution_id', 'cmf_testcycle_testcase_folder', ['resolution_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_perm_security_level_id', 'cmf_testcycle_testcase_folder', ['perm_security_level_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_parent_logic_prefix', 'cmf_testcycle_testcase_folder', ['parent_logic_prefix'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_logic_type_id', 'cmf_testcycle_testcase_folder', ['logic_type_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_logic_prefix', 'cmf_testcycle_testcase_folder', ['logic_prefix'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_is_template', 'cmf_testcycle_testcase_folder', ['is_template'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_default_task_workflow_id', 'cmf_testcycle_testcase_folder', ['default_task_workflow_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_deadline', 'cmf_testcycle_testcase_folder', ['deadline'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_company_id', 'cmf_testcycle_testcase_folder', ['company_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistant_id', 'cmf_testcycle_testcase_folder', ['cmf_owner_assistant_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cloned_from_id', 'cmf_testcycle_testcase_folder', ['cloned_from_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cache_status_type', 'cmf_testcycle_testcase_folder', ['cache_status_type'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cache_status_opt_id', 'cmf_testcycle_testcase_folder', ['cache_status_opt_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_approved', 'cmf_testcycle_testcase_folder', ['approved'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_alarm_date', 'cmf_testcycle_testcase_folder', ['alarm_date'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_activity_id', 'cmf_testcycle_testcase_folder', ['activity_id'], unique=False)
    op.add_column('cmf_testcycle', sa.Column('testcase_result_cache', sa.TEXT(), autoincrement=False, nullable=True))
    op.drop_column('cmf_testcycle', 'testcase_run_cache')
    op.add_column('cmf_testcase_run', sa.Column('release_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.add_column('cmf_testcase_run', sa.Column('testcycle_testcase_result_id', sa.VARCHAR(length=64), autoincrement=False, nullable=False))
    op.add_column('cmf_testcase_run', sa.Column('waiting_for_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.drop_constraint(None, 'cmf_testcase_run', type_='foreignkey')
    op.drop_constraint(None, 'cmf_testcase_run', type_='foreignkey')
    op.create_foreign_key('cmf_testcase_run_testcycle_testcase_result_id_fkey', 'cmf_testcase_run', 'cmf_testcycle_testcase_result', ['testcycle_testcase_result_id'], ['id'])
    op.create_foreign_key('cmf_testcase_run_release_id_fkey', 'cmf_testcase_run', 'cmf_list', ['release_id'], ['id'])
    op.drop_index(op.f('ix_cmf_testcase_run_environment_id'), table_name='cmf_testcase_run')
    op.drop_index(op.f('ix_cmf_testcase_run_cur_testcase_run_id'), table_name='cmf_testcase_run')
    op.create_index('ix_cmf_testcase_run_waiting_for_id', 'cmf_testcase_run', ['waiting_for_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_testcycle_testcase_result_id', 'cmf_testcase_run', ['testcycle_testcase_result_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_release_id', 'cmf_testcase_run', ['release_id'], unique=False)
    op.alter_column('cmf_testcase_run', 'testcase_id',
               existing_type=sa.VARCHAR(length=64),
               nullable=True)
    op.drop_column('cmf_testcase_run', 'cur_testcase_run_id')
    op.drop_column('cmf_testcase_run', 'environment_id')
    op.drop_column('cmf_testcase_run', 'iteration')
    op.create_foreign_key('cmf_testcase_params_row_parent_id_fkey', 'cmf_testcase_params_row', 'cmf_testcase', ['parent_id'], ['id'])
    op.add_column('cmf_testcase_param', sa.Column('testcase_id', sa.VARCHAR(length=64), autoincrement=False, nullable=False))
    op.drop_constraint(None, 'cmf_testcase_param', type_='foreignkey')
    op.create_foreign_key('cmf_testcase_param_testcase_id_fkey', 'cmf_testcase_param', 'cmf_testcase', ['testcase_id'], ['id'])
    op.drop_index(op.f('ix_cmf_testcase_param_cache_testcase_id'), table_name='cmf_testcase_param')
    op.create_index('ix_cmf_testcase_param_testcase_id', 'cmf_testcase_param', ['testcase_id'], unique=False)
    op.drop_column('cmf_testcase_param', 'cache_testcase_id')
    op.add_column('cmf_test_configuration', sa.Column('variables', sa.TEXT(), autoincrement=False, nullable=False))
    op.create_table('cmf_testplan_testcase_folder_cmf_owner_assistants',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testplan_testcase_folder_cmf_owner_assistants_pkey')
    )
    op.create_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_root_id', 'cmf_testplan_testcase_folder_cmf_owner_assistants', ['root_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_right_id', 'cmf_testplan_testcase_folder_cmf_owner_assistants', ['right_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_parent_id', 'cmf_testplan_testcase_folder_cmf_owner_assistants', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_cmf_owner_assistants_left_id', 'cmf_testplan_testcase_folder_cmf_owner_assistants', ['left_id'], unique=False)
    op.create_table('cmf_testcycle_testcase_folder_executors',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testcycle_testcase_folder_executors_pkey')
    )
    op.create_index('ix_cmf_testcycle_testcase_folder_executors_root_id', 'cmf_testcycle_testcase_folder_executors', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_executors_right_id', 'cmf_testcycle_testcase_folder_executors', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_executors_parent_id', 'cmf_testcycle_testcase_folder_executors', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_executors_left_id', 'cmf_testcycle_testcase_folder_executors', ['left_id'], unique=False)
    op.create_table('cmf_testcase_run_step_cmf_task',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['left_id'], ['cmf_testcase_run_step.id'], name='cmf_testcase_run_step_cmf_task_left_id_fkey'),
    sa.ForeignKeyConstraint(['right_id'], ['cmf_task.id'], name='cmf_testcase_run_step_cmf_task_right_id_fkey'),
    sa.PrimaryKeyConstraint('id', name='cmf_testcase_run_step_cmf_task_pkey')
    )
    op.create_index('ix_cmf_testcase_run_step_cmf_task_root_id', 'cmf_testcase_run_step_cmf_task', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_task_right_id', 'cmf_testcase_run_step_cmf_task', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_task_parent_id', 'cmf_testcase_run_step_cmf_task', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_task_left_id', 'cmf_testcase_run_step_cmf_task', ['left_id'], unique=False)
    op.create_table('cmf_testcase_run_cmf_task',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['left_id'], ['cmf_testcase_run.id'], name='cmf_testcase_run_cmf_task_left_id_fkey'),
    sa.ForeignKeyConstraint(['right_id'], ['cmf_task.id'], name='cmf_testcase_run_cmf_task_right_id_fkey'),
    sa.PrimaryKeyConstraint('id', name='cmf_testcase_run_cmf_task_pkey')
    )
    op.create_index('ix_cmf_testcase_run_cmf_task_root_id', 'cmf_testcase_run_cmf_task', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_cmf_task_right_id', 'cmf_testcase_run_cmf_task', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_cmf_task_parent_id', 'cmf_testcase_run_cmf_task', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_cmf_task_left_id', 'cmf_testcase_run_cmf_task', ['left_id'], unique=False)
    op.create_table('cmf_testplan_testcase_folder_executors',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testplan_testcase_folder_executors_pkey')
    )
    op.create_index('ix_cmf_testplan_testcase_folder_executors_root_id', 'cmf_testplan_testcase_folder_executors', ['root_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_executors_right_id', 'cmf_testplan_testcase_folder_executors', ['right_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_executors_parent_id', 'cmf_testplan_testcase_folder_executors', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_executors_left_id', 'cmf_testplan_testcase_folder_executors', ['left_id'], unique=False)
    op.create_table('cmf_testcycle_testcase_folder_cmf_owner_assistants',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testcycle_testcase_folder_cmf_owner_assistants_pkey')
    )
    op.create_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_root_id', 'cmf_testcycle_testcase_folder_cmf_owner_assistants', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_right_id', 'cmf_testcycle_testcase_folder_cmf_owner_assistants', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_parent_id', 'cmf_testcycle_testcase_folder_cmf_owner_assistants', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_cmf_owner_assistants_left_id', 'cmf_testcycle_testcase_folder_cmf_owner_assistants', ['left_id'], unique=False)
    op.create_table('cmf_testcase_run_spectators',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testcase_run_spectators_pkey')
    )
    op.create_index('ix_cmf_testcase_run_spectators_root_id', 'cmf_testcase_run_spectators', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_spectators_right_id', 'cmf_testcase_run_spectators', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_spectators_parent_id', 'cmf_testcase_run_spectators', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_spectators_left_id', 'cmf_testcase_run_spectators', ['left_id'], unique=False)
    op.create_table('cmf_testplan_testcase_folder_local_links',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testplan_testcase_folder_local_links_pkey')
    )
    op.create_index('ix_cmf_testplan_testcase_folder_local_links_root_id', 'cmf_testplan_testcase_folder_local_links', ['root_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_local_links_right_id', 'cmf_testplan_testcase_folder_local_links', ['right_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_local_links_parent_id', 'cmf_testplan_testcase_folder_local_links', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_local_links_left_id', 'cmf_testplan_testcase_folder_local_links', ['left_id'], unique=False)
    op.create_table('cmf_testcycle_testcase_folder_spectators',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testcycle_testcase_folder_spectators_pkey')
    )
    op.create_index('ix_cmf_testcycle_testcase_folder_spectators_root_id', 'cmf_testcycle_testcase_folder_spectators', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_spectators_right_id', 'cmf_testcycle_testcase_folder_spectators', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_spectators_parent_id', 'cmf_testcycle_testcase_folder_spectators', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_spectators_left_id', 'cmf_testcycle_testcase_folder_spectators', ['left_id'], unique=False)
    op.create_table('cmf_testcase_run_step',
    sa.Column('id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('cmf_locked_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cmf_created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_viewed_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cmf_deleted', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('cmf_version', sa.BIGINT(), autoincrement=False, nullable=True),
    sa.Column('name', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('code', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('system', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('text', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('import_original', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('import_raw_json', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('ext_id', sa.VARCHAR(), autoincrement=False, nullable=True),
    sa.Column('cmf_archived', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('is_favorite', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('has_tree_nodes', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('tree_node_is_branch', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('tree_hidden', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('orderno', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('perm_public', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_has_acl', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_inherit', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_parent_owner_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_inherit_acl_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_effective_acl_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_security_level_allowed_ids_cache', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('perm_encrypt', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_encrypt_help', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('step_section', sa.VARCHAR(length=32), server_default=sa.text("'main'::character varying"), autoincrement=False, nullable=False),
    sa.Column('expected_result', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('actual_result', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('test_data', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('comment', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('status', sa.VARCHAR(length=32), autoincrement=False, nullable=True),
    sa.Column('cmf_author_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_owner_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_modified_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_locked_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_import_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('tree_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('project_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_acl_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('testcase_id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('testcase_step_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('parent_step_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('sl_owner_lock', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], name='cmf_testcase_run_step_cmf_import_id_fkey'),
    sa.ForeignKeyConstraint(['parent_step_id'], ['cmf_testcase_run_step.id'], name='cmf_testcase_run_step_parent_step_id_fkey'),
    sa.ForeignKeyConstraint(['perm_acl_id'], ['cmf_access_list.id'], name='cmf_testcase_run_step_perm_acl_id_fkey'),
    sa.ForeignKeyConstraint(['project_id'], ['cmf_project.id'], name='cmf_testcase_run_step_project_id_fkey'),
    sa.ForeignKeyConstraint(['testcase_id'], ['cmf_testcase.id'], name='cmf_testcase_run_step_testcase_id_fkey'),
    sa.ForeignKeyConstraint(['testcase_step_id'], ['cmf_testcase_step.id'], name='cmf_testcase_run_step_testcase_step_id_fkey'),
    sa.PrimaryKeyConstraint('id', name='cmf_testcase_run_step_pkey')
    )
    op.create_index('ix_cmf_testcase_run_step_tree_parent_id', 'cmf_testcase_run_step', ['tree_parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_testcase_step_id', 'cmf_testcase_run_step', ['testcase_step_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_testcase_id', 'cmf_testcase_run_step', ['testcase_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_root_parent_id', 'cmf_testcase_run_step', ['root_parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_project_id', 'cmf_testcase_run_step', ['project_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_perm_parent_id', 'cmf_testcase_run_step', ['perm_parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_perm_acl_id', 'cmf_testcase_run_step', ['perm_acl_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_parent_step_id', 'cmf_testcase_run_step', ['parent_step_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_parent_id', 'cmf_testcase_run_step', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_orderno', 'cmf_testcase_run_step', ['orderno'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_name', 'cmf_testcase_run_step', ['name'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_code', 'cmf_testcase_run_step', ['code'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_viewed_at', 'cmf_testcase_run_step', ['cmf_viewed_at'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_version', 'cmf_testcase_run_step', ['cmf_version'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_owner_id', 'cmf_testcase_run_step', ['cmf_owner_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_modified_by_id', 'cmf_testcase_run_step', ['cmf_modified_by_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_modified_at', 'cmf_testcase_run_step', ['cmf_modified_at'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_locked_by_id', 'cmf_testcase_run_step', ['cmf_locked_by_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_locked_at', 'cmf_testcase_run_step', ['cmf_locked_at'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_import_id', 'cmf_testcase_run_step', ['cmf_import_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_deleted', 'cmf_testcase_run_step', ['cmf_deleted'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_created_at', 'cmf_testcase_run_step', ['cmf_created_at'], unique=False)
    op.create_index('ix_cmf_testcase_run_step_cmf_author_id', 'cmf_testcase_run_step', ['cmf_author_id'], unique=False)
    op.create_table('cmf_testcycle_testcase_folder_local_links',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testcycle_testcase_folder_local_links_pkey')
    )
    op.create_index('ix_cmf_testcycle_testcase_folder_local_links_root_id', 'cmf_testcycle_testcase_folder_local_links', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_local_links_right_id', 'cmf_testcycle_testcase_folder_local_links', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_local_links_parent_id', 'cmf_testcycle_testcase_folder_local_links', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_folder_local_links_left_id', 'cmf_testcycle_testcase_folder_local_links', ['left_id'], unique=False)
    op.create_table('cmf_testcase_run_executors',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testcase_run_executors_pkey')
    )
    op.create_index('ix_cmf_testcase_run_executors_root_id', 'cmf_testcase_run_executors', ['root_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_executors_right_id', 'cmf_testcase_run_executors', ['right_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_executors_parent_id', 'cmf_testcase_run_executors', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcase_run_executors_left_id', 'cmf_testcase_run_executors', ['left_id'], unique=False)
    op.create_table('cmf_testplan_testcase_folder_spectators',
    sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_testplan_testcase_folder_spectators_pkey')
    )
    op.create_index('ix_cmf_testplan_testcase_folder_spectators_root_id', 'cmf_testplan_testcase_folder_spectators', ['root_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_spectators_right_id', 'cmf_testplan_testcase_folder_spectators', ['right_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_spectators_parent_id', 'cmf_testplan_testcase_folder_spectators', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testplan_testcase_folder_spectators_left_id', 'cmf_testplan_testcase_folder_spectators', ['left_id'], unique=False)
    op.create_table('cmf_testcycle_testcase_result',
    sa.Column('id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('cmf_locked_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cmf_created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_viewed_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cmf_deleted', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('cmf_version', sa.BIGINT(), autoincrement=False, nullable=True),
    sa.Column('name', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('code', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('system', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('text', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('import_original', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('import_raw_json', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('ext_id', sa.VARCHAR(), autoincrement=False, nullable=True),
    sa.Column('cmf_archived', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('is_favorite', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('has_tree_nodes', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('tree_node_is_branch', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('tree_hidden', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('orderno', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('perm_public', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_has_acl', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_inherit', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_parent_owner_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_inherit_acl_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_effective_acl_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_security_level_allowed_ids_cache', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('perm_encrypt', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('perm_encrypt_help', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('priority', sa.INTEGER(), autoincrement=False, nullable=False),
    sa.Column('cmf_author_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_owner_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_modified_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_locked_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_import_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('tree_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('root_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('project_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_acl_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('perm_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('responsible_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('testcycle_testcase_folder_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('testcase_id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('test_configuration_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('environment_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cur_testcase_run_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('iteration', sa.INTEGER(), autoincrement=False, nullable=False),
    sa.Column('params_row_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('status', sa.VARCHAR(length=32), autoincrement=False, nullable=True),
    sa.Column('estimate_time', sa.INTEGER(), server_default=sa.text('0'), autoincrement=False, nullable=True),
    sa.Column('spent_time', sa.INTEGER(), server_default=sa.text('0'), autoincrement=False, nullable=True),
    sa.Column('sl_owner_lock', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], name='cmf_testcycle_testcase_result_cmf_import_id_fkey'),
    sa.ForeignKeyConstraint(['cur_testcase_run_id'], ['cmf_testcase_run.id'], name='cmf_testcycle_testcase_result_cur_testcase_run_id_fkey'),
    sa.ForeignKeyConstraint(['environment_id'], ['cmf_test_environment.id'], name='cmf_testcycle_testcase_result_environment_id_fkey'),
    sa.ForeignKeyConstraint(['params_row_id'], ['cmf_testcase_params_row.id'], name='cmf_testcycle_testcase_result_params_row_id_fkey'),
    sa.ForeignKeyConstraint(['perm_acl_id'], ['cmf_access_list.id'], name='cmf_testcycle_testcase_result_perm_acl_id_fkey'),
    sa.ForeignKeyConstraint(['project_id'], ['cmf_project.id'], name='cmf_testcycle_testcase_result_project_id_fkey'),
    sa.ForeignKeyConstraint(['test_configuration_id'], ['cmf_test_configuration.id'], name='cmf_testcycle_testcase_result_test_configuration_id_fkey'),
    sa.ForeignKeyConstraint(['testcase_id'], ['cmf_testcase.id'], name='cmf_testcycle_testcase_result_testcase_id_fkey'),
    sa.ForeignKeyConstraint(['testcycle_testcase_folder_id'], ['cmf_testcycle_testcase_folder.id'], name='cmf_testcycle_testcase_result_testcycle_testcase_folder_id_fkey'),
    sa.PrimaryKeyConstraint('id', name='cmf_testcycle_testcase_result_pkey')
    )
    op.create_index('ix_cmf_testcycle_testcase_result_tree_parent_id', 'cmf_testcycle_testcase_result', ['tree_parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_testcycle_testcase_folder_id', 'cmf_testcycle_testcase_result', ['testcycle_testcase_folder_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_testcase_id', 'cmf_testcycle_testcase_result', ['testcase_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_test_configuration_id', 'cmf_testcycle_testcase_result', ['test_configuration_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_root_parent_id', 'cmf_testcycle_testcase_result', ['root_parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_responsible_id', 'cmf_testcycle_testcase_result', ['responsible_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_project_id', 'cmf_testcycle_testcase_result', ['project_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_perm_parent_id', 'cmf_testcycle_testcase_result', ['perm_parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_perm_acl_id', 'cmf_testcycle_testcase_result', ['perm_acl_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_parent_id', 'cmf_testcycle_testcase_result', ['parent_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_params_row_id', 'cmf_testcycle_testcase_result', ['params_row_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_orderno', 'cmf_testcycle_testcase_result', ['orderno'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_name', 'cmf_testcycle_testcase_result', ['name'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_environment_id', 'cmf_testcycle_testcase_result', ['environment_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cur_testcase_run_id', 'cmf_testcycle_testcase_result', ['cur_testcase_run_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_code', 'cmf_testcycle_testcase_result', ['code'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_viewed_at', 'cmf_testcycle_testcase_result', ['cmf_viewed_at'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_version', 'cmf_testcycle_testcase_result', ['cmf_version'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_owner_id', 'cmf_testcycle_testcase_result', ['cmf_owner_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_modified_by_id', 'cmf_testcycle_testcase_result', ['cmf_modified_by_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_modified_at', 'cmf_testcycle_testcase_result', ['cmf_modified_at'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_locked_by_id', 'cmf_testcycle_testcase_result', ['cmf_locked_by_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_locked_at', 'cmf_testcycle_testcase_result', ['cmf_locked_at'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_import_id', 'cmf_testcycle_testcase_result', ['cmf_import_id'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_deleted', 'cmf_testcycle_testcase_result', ['cmf_deleted'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_created_at', 'cmf_testcycle_testcase_result', ['cmf_created_at'], unique=False)
    op.create_index('ix_cmf_testcycle_testcase_result_cmf_author_id', 'cmf_testcycle_testcase_result', ['cmf_author_id'], unique=False)
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_root_id'), table_name='cmf_testcase_run_history_step_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_right_id'), table_name='cmf_testcase_run_history_step_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_parent_id'), table_name='cmf_testcase_run_history_step_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_task_left_id'), table_name='cmf_testcase_run_history_step_cmf_task')
    op.drop_table('cmf_testcase_run_history_step_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_tree_parent_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_testcase_step_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_root_parent_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_project_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_perm_parent_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_perm_acl_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_parent_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_orderno'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_name'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_code'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_viewed_at'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_version'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_owner_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_modified_by_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_modified_at'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_locked_by_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_locked_at'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_import_id'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_deleted'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_created_at'), table_name='cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_step_cmf_author_id'), table_name='cmf_testcase_run_history_step')
    op.drop_table('cmf_testcase_run_history_step')
    op.drop_index(op.f('ix_cmf_testcase_run_history_spectators_root_id'), table_name='cmf_testcase_run_history_spectators')
    op.drop_index(op.f('ix_cmf_testcase_run_history_spectators_right_id'), table_name='cmf_testcase_run_history_spectators')
    op.drop_index(op.f('ix_cmf_testcase_run_history_spectators_parent_id'), table_name='cmf_testcase_run_history_spectators')
    op.drop_index(op.f('ix_cmf_testcase_run_history_spectators_left_id'), table_name='cmf_testcase_run_history_spectators')
    op.drop_table('cmf_testcase_run_history_spectators')
    op.drop_index(op.f('ix_cmf_testcase_run_history_executors_root_id'), table_name='cmf_testcase_run_history_executors')
    op.drop_index(op.f('ix_cmf_testcase_run_history_executors_right_id'), table_name='cmf_testcase_run_history_executors')
    op.drop_index(op.f('ix_cmf_testcase_run_history_executors_parent_id'), table_name='cmf_testcase_run_history_executors')
    op.drop_index(op.f('ix_cmf_testcase_run_history_executors_left_id'), table_name='cmf_testcase_run_history_executors')
    op.drop_table('cmf_testcase_run_history_executors')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_task_root_id'), table_name='cmf_testcase_run_history_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_task_right_id'), table_name='cmf_testcase_run_history_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_task_parent_id'), table_name='cmf_testcase_run_history_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_task_left_id'), table_name='cmf_testcase_run_history_cmf_task')
    op.drop_table('cmf_testcase_run_history_cmf_task')
    op.drop_index(op.f('ix_cmf_testcase_run_history_waiting_for_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_tree_parent_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_root_parent_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_responsible_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_release_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_project_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_perm_parent_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_perm_acl_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_parent_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_params_row_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_orderno'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_name'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_code'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_viewed_at'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_version'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_owner_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_modified_by_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_modified_at'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_locked_by_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_locked_at'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_import_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_deleted'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_created_at'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cmf_author_id'), table_name='cmf_testcase_run_history')
    op.drop_index(op.f('ix_cmf_testcase_run_history_cache_testcase_id'), table_name='cmf_testcase_run_history')
    op.drop_table('cmf_testcase_run_history')
    # ### end Alembic commands ###
