"""project

Revision ID: af18a0280adf
Revises: f907d52e69fa
Create Date: 2024-03-13 19:26:45.346979

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

# revision identifiers, used by Alembic.
revision = 'af18a0280adf'
down_revision = 'f907d52e69fa'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    # for table_name in [
    #     'cmf_answer_template', 'cmf_asset', 'cmf_attachment', 'cmf_chat_group', 'cmf_chat_topic', 'cmf_comment',
    #     'cmf_company', 'cmf_component', 'cmf_dashboard', 'cmf_deal', 'cmf_document', 'cmf_folder',
    #     'cmf_import', 'cmf_invoice', 'cmf_kanban_board', 'cmf_lead', 'cmf_list', 'cmf_mail_handler', 'cmf_payment',
    #     'cmf_pipeline', 'cmf_project', 'cmf_purchase_order', 'cmf_purchase_order_items', 'cmf_roadmap', 'cmf_scheme_wf',
    #     'cmf_stock_incoming_order', 'cmf_stock_initial', 'cmf_stock_inventory', 'cmf_stock_move',
    #     'cmf_stock_outcoming_order', 'cmf_task', 'cmf_task_filter', 'cmf_task_queue', 'cmf_task_report',
    #     'cmf_time_tracker_history', 'cmf_u_work_post',
    # ]:
    #     op.execute(f'update {table_name} set root_parent_id=null where root_parent_id like \'CmfProject:%\' and root_parent_id not in (select id from cmf_project)')
    # op.execute(f'update cmf_full_search set obj_root_parent_id=null where obj_root_parent_id like \'CmfProject:%\' and obj_root_parent_id not in (select id from cmf_project)')
    op.add_column('cmf_answer_template', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_answer_template set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_answer_template_project_id'), 'cmf_answer_template', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_answer_template', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_asset', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_asset set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_asset_project_id'), 'cmf_asset', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_asset', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_attachment', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_attachment set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_attachment_project_id'), 'cmf_attachment', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_attachment', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_chat_group', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_chat_group set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_chat_group_project_id'), 'cmf_chat_group', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_chat_group', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_chat_topic', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_chat_topic set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_chat_topic_project_id'), 'cmf_chat_topic', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_chat_topic', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_comment', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_comment set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_comment_project_id'), 'cmf_comment', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_comment', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_company', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_company set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_company_project_id'), 'cmf_company', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_company', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_component', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_component set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_component_project_id'), 'cmf_component', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_component', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_dashboard', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_dashboard set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_dashboard_project_id'), 'cmf_dashboard', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_dashboard', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_deal', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_deal set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_deal_project_id'), 'cmf_deal', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_deal', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_document', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_document set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_document_project_id'), 'cmf_document', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_document', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_folder', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_folder set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_folder_project_id'), 'cmf_folder', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_folder', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_full_search', sa.Column('obj_project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_full_search set obj_project_id=obj_root_parent_id where obj_root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_full_search_obj_project_id'), 'cmf_full_search', ['obj_project_id'], unique=False)
    op.add_column('cmf_import', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_import set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_import_project_id'), 'cmf_import', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_import', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_invoice', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_invoice set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_invoice_project_id'), 'cmf_invoice', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_invoice', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_kanban_board', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_kanban_board set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_kanban_board_project_id'), 'cmf_kanban_board', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_kanban_board', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_lead', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_lead set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_lead_project_id'), 'cmf_lead', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_lead', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_list', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_list set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_list_project_id'), 'cmf_list', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_list', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_mail_handler', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_mail_handler set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_mail_handler_project_id'), 'cmf_mail_handler', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_mail_handler', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_payment', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_payment set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_payment_project_id'), 'cmf_payment', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_payment', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_pipeline', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_pipeline set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_pipeline_project_id'), 'cmf_pipeline', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_pipeline', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_project', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_project set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_project_project_id'), 'cmf_project', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_project', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_purchase_order', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_purchase_order set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_purchase_order_project_id'), 'cmf_purchase_order', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_purchase_order', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_purchase_order_items', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_purchase_order_items set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_purchase_order_items_project_id'), 'cmf_purchase_order_items', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_purchase_order_items', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_roadmap', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_roadmap set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_roadmap_project_id'), 'cmf_roadmap', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_roadmap', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_scheme_wf', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_scheme_wf set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_scheme_wf_project_id'), 'cmf_scheme_wf', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_scheme_wf', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_stock_incoming_order', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_stock_incoming_order set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_stock_incoming_order_project_id'), 'cmf_stock_incoming_order', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_stock_incoming_order', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_stock_initial', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_stock_initial set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_stock_initial_project_id'), 'cmf_stock_initial', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_stock_initial', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_stock_inventory', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_stock_inventory set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_stock_inventory_project_id'), 'cmf_stock_inventory', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_stock_inventory', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_stock_move', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_stock_move set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_stock_move_project_id'), 'cmf_stock_move', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_stock_move', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_stock_outcoming_order', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_stock_outcoming_order set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_stock_outcoming_order_project_id'), 'cmf_stock_outcoming_order', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_stock_outcoming_order', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_task', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_task set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_task_project_id'), 'cmf_task', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_task', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_task_filter', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_task_filter set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_task_filter_project_id'), 'cmf_task_filter', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_task_filter', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_task_queue', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_task_queue set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_task_queue_project_id'), 'cmf_task_queue', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_task_queue', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_task_report', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_task_report set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_task_report_project_id'), 'cmf_task_report', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_task_report', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_time_tracker_history', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_time_tracker_history set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_time_tracker_history_project_id'), 'cmf_time_tracker_history', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_time_tracker_history', 'cmf_project', ['project_id'], ['id'])
    op.add_column('cmf_u_work_post', sa.Column('project_id', sa.String(length=64), nullable=True))
    # op.execute('update cmf_u_work_post set project_id=root_parent_id where root_parent_id like \'CmfProject:%\'')
    op.create_index(op.f('ix_cmf_u_work_post_project_id'), 'cmf_u_work_post', ['project_id'], unique=False)
    op.create_foreign_key(None, 'cmf_u_work_post', 'cmf_project', ['project_id'], ['id'])
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_constraint(None, 'cmf_u_work_post', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_u_work_post_project_id'), table_name='cmf_u_work_post')
    op.drop_column('cmf_u_work_post', 'project_id')
    op.drop_constraint(None, 'cmf_time_tracker_history', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_time_tracker_history_project_id'), table_name='cmf_time_tracker_history')
    op.drop_column('cmf_time_tracker_history', 'project_id')
    op.drop_constraint(None, 'cmf_task_report', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_task_report_project_id'), table_name='cmf_task_report')
    op.drop_column('cmf_task_report', 'project_id')
    op.drop_constraint(None, 'cmf_task_queue', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_task_queue_project_id'), table_name='cmf_task_queue')
    op.drop_column('cmf_task_queue', 'project_id')
    op.drop_constraint(None, 'cmf_task_filter', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_task_filter_project_id'), table_name='cmf_task_filter')
    op.drop_column('cmf_task_filter', 'project_id')
    op.drop_constraint(None, 'cmf_task', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_task_project_id'), table_name='cmf_task')
    op.drop_column('cmf_task', 'project_id')
    op.drop_constraint(None, 'cmf_stock_outcoming_order', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_stock_outcoming_order_project_id'), table_name='cmf_stock_outcoming_order')
    op.drop_column('cmf_stock_outcoming_order', 'project_id')
    op.drop_constraint(None, 'cmf_stock_move', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_stock_move_project_id'), table_name='cmf_stock_move')
    op.drop_column('cmf_stock_move', 'project_id')
    op.drop_constraint(None, 'cmf_stock_inventory', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_stock_inventory_project_id'), table_name='cmf_stock_inventory')
    op.drop_column('cmf_stock_inventory', 'project_id')
    op.drop_constraint(None, 'cmf_stock_initial', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_stock_initial_project_id'), table_name='cmf_stock_initial')
    op.drop_column('cmf_stock_initial', 'project_id')
    op.drop_constraint(None, 'cmf_stock_incoming_order', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_stock_incoming_order_project_id'), table_name='cmf_stock_incoming_order')
    op.drop_column('cmf_stock_incoming_order', 'project_id')
    op.drop_constraint(None, 'cmf_scheme_wf', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_scheme_wf_project_id'), table_name='cmf_scheme_wf')
    op.drop_column('cmf_scheme_wf', 'project_id')
    op.drop_constraint(None, 'cmf_roadmap', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_roadmap_project_id'), table_name='cmf_roadmap')
    op.drop_column('cmf_roadmap', 'project_id')
    op.drop_constraint(None, 'cmf_purchase_order_items', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_purchase_order_items_project_id'), table_name='cmf_purchase_order_items')
    op.drop_column('cmf_purchase_order_items', 'project_id')
    op.drop_constraint(None, 'cmf_purchase_order', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_purchase_order_project_id'), table_name='cmf_purchase_order')
    op.drop_column('cmf_purchase_order', 'project_id')
    op.drop_constraint(None, 'cmf_project', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_project_project_id'), table_name='cmf_project')
    op.drop_column('cmf_project', 'project_id')
    op.drop_constraint(None, 'cmf_pipeline', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_pipeline_project_id'), table_name='cmf_pipeline')
    op.drop_column('cmf_pipeline', 'project_id')
    op.drop_constraint(None, 'cmf_payment', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_payment_project_id'), table_name='cmf_payment')
    op.drop_column('cmf_payment', 'project_id')
    op.drop_constraint(None, 'cmf_mail_handler', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_mail_handler_project_id'), table_name='cmf_mail_handler')
    op.drop_column('cmf_mail_handler', 'project_id')
    op.drop_constraint(None, 'cmf_list', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_list_project_id'), table_name='cmf_list')
    op.drop_column('cmf_list', 'project_id')
    op.drop_constraint(None, 'cmf_lead', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_lead_project_id'), table_name='cmf_lead')
    op.drop_column('cmf_lead', 'project_id')
    op.drop_constraint(None, 'cmf_kanban_board', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_kanban_board_project_id'), table_name='cmf_kanban_board')
    op.drop_column('cmf_kanban_board', 'project_id')
    op.drop_constraint(None, 'cmf_invoice', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_invoice_project_id'), table_name='cmf_invoice')
    op.drop_column('cmf_invoice', 'project_id')
    op.drop_constraint(None, 'cmf_import', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_import_project_id'), table_name='cmf_import')
    op.drop_column('cmf_import', 'project_id')
    op.drop_index(op.f('ix_cmf_full_search_obj_project_id'), table_name='cmf_full_search')
    op.drop_column('cmf_full_search', 'obj_project_id')
    op.drop_constraint(None, 'cmf_folder', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_folder_project_id'), table_name='cmf_folder')
    op.drop_column('cmf_folder', 'project_id')
    op.drop_constraint(None, 'cmf_document', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_document_project_id'), table_name='cmf_document')
    op.drop_column('cmf_document', 'project_id')
    op.drop_constraint(None, 'cmf_deal', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_deal_project_id'), table_name='cmf_deal')
    op.drop_column('cmf_deal', 'project_id')
    op.drop_constraint(None, 'cmf_dashboard', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_dashboard_project_id'), table_name='cmf_dashboard')
    op.drop_column('cmf_dashboard', 'project_id')
    op.drop_constraint(None, 'cmf_component', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_component_project_id'), table_name='cmf_component')
    op.drop_column('cmf_component', 'project_id')
    op.drop_constraint(None, 'cmf_company', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_company_project_id'), table_name='cmf_company')
    op.drop_column('cmf_company', 'project_id')
    op.drop_constraint(None, 'cmf_comment', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_comment_project_id'), table_name='cmf_comment')
    op.drop_column('cmf_comment', 'project_id')
    op.drop_constraint(None, 'cmf_chat_topic', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_chat_topic_project_id'), table_name='cmf_chat_topic')
    op.drop_column('cmf_chat_topic', 'project_id')
    op.drop_constraint(None, 'cmf_chat_group', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_chat_group_project_id'), table_name='cmf_chat_group')
    op.drop_column('cmf_chat_group', 'project_id')
    op.drop_constraint(None, 'cmf_attachment', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_attachment_project_id'), table_name='cmf_attachment')
    op.drop_column('cmf_attachment', 'project_id')
    op.drop_constraint(None, 'cmf_asset', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_asset_project_id'), table_name='cmf_asset')
    op.drop_column('cmf_asset', 'project_id')
    op.drop_constraint(None, 'cmf_answer_template', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_answer_template_project_id'), table_name='cmf_answer_template')
    op.drop_column('cmf_answer_template', 'project_id')
    # ### end Alembic commands ###
