"""add root_parent field

Revision ID: 468118a60b66
Revises: 0facef14798f
Create Date: 2023-02-02 15:15:36.669794

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = '468118a60b66'
down_revision = '0facef14798f'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('cmf_access_list', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_access_list_root_parent_id'), 'cmf_access_list', ['root_parent_id'], unique=False)
    op.add_column('cmf_access_rule', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_access_rule_root_parent_id'), 'cmf_access_rule', ['root_parent_id'], unique=False)
    op.add_column('cmf_auth_ldap_plugin', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_auth_ldap_plugin_root_parent_id'), 'cmf_auth_ldap_plugin', ['root_parent_id'], unique=False)
    op.add_column('cmf_comment', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_comment_root_parent_id'), 'cmf_comment', ['root_parent_id'], unique=False)
    op.add_column('cmf_document', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_document_root_parent_id'), 'cmf_document', ['root_parent_id'], unique=False)
    op.add_column('cmf_document_history', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_document_history_root_parent_id'), 'cmf_document_history', ['root_parent_id'], unique=False)
    op.add_column('cmf_filter', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_filter_root_parent_id'), 'cmf_filter', ['root_parent_id'], unique=False)
    op.add_column('cmf_global_settings', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_global_settings_root_parent_id'), 'cmf_global_settings', ['root_parent_id'], unique=False)
    op.add_column('cmf_import', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_import_root_parent_id'), 'cmf_import', ['root_parent_id'], unique=False)
    op.add_column('cmf_link', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_link_root_parent_id'), 'cmf_link', ['root_parent_id'], unique=False)
    op.add_column('cmf_notify', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_notify_root_parent_id'), 'cmf_notify', ['root_parent_id'], unique=False)
    op.add_column('cmf_person', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_person_root_parent_id'), 'cmf_person', ['root_parent_id'], unique=False)
    op.add_column('cmf_person_group', sa.Column('incompatible_combination_code', sa.String(), nullable=True))
    op.add_column('cmf_person_group', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_person_group_root_parent_id'), 'cmf_person_group', ['root_parent_id'], unique=False)
    op.add_column('cmf_person_var', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_person_var_root_parent_id'), 'cmf_person_var', ['root_parent_id'], unique=False)
    op.add_column('cmf_plugin', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_plugin_root_parent_id'), 'cmf_plugin', ['root_parent_id'], unique=False)
    op.add_column('cmf_task', sa.Column('root_parent_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_task_root_parent_id'), 'cmf_task', ['root_parent_id'], unique=False)
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_index(op.f('ix_cmf_task_root_parent_id'), table_name='cmf_task')
    op.drop_column('cmf_task', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_plugin_root_parent_id'), table_name='cmf_plugin')
    op.drop_column('cmf_plugin', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_person_var_root_parent_id'), table_name='cmf_person_var')
    op.drop_column('cmf_person_var', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_person_group_root_parent_id'), table_name='cmf_person_group')
    op.drop_column('cmf_person_group', 'root_parent_id')
    op.drop_column('cmf_person_group', 'incompatible_combination_code')
    op.drop_index(op.f('ix_cmf_person_root_parent_id'), table_name='cmf_person')
    op.drop_column('cmf_person', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_notify_root_parent_id'), table_name='cmf_notify')
    op.drop_column('cmf_notify', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_link_root_parent_id'), table_name='cmf_link')
    op.drop_column('cmf_link', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_import_root_parent_id'), table_name='cmf_import')
    op.drop_column('cmf_import', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_global_settings_root_parent_id'), table_name='cmf_global_settings')
    op.drop_column('cmf_global_settings', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_filter_root_parent_id'), table_name='cmf_filter')
    op.drop_column('cmf_filter', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_document_history_root_parent_id'), table_name='cmf_document_history')
    op.drop_column('cmf_document_history', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_document_root_parent_id'), table_name='cmf_document')
    op.drop_column('cmf_document', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_comment_root_parent_id'), table_name='cmf_comment')
    op.drop_column('cmf_comment', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_auth_ldap_plugin_root_parent_id'), table_name='cmf_auth_ldap_plugin')
    op.drop_column('cmf_auth_ldap_plugin', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_access_rule_root_parent_id'), table_name='cmf_access_rule')
    op.drop_column('cmf_access_rule', 'root_parent_id')
    op.drop_index(op.f('ix_cmf_access_list_root_parent_id'), table_name='cmf_access_list')
    op.drop_column('cmf_access_list', 'root_parent_id')
    # ### end Alembic commands ###
