"""refactor cmf_license

Revision ID: d696d33325d9
Revises: 4884b3c90d9e
Create Date: 2024-09-11 14:14:52.623231

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'd696d33325d9'
down_revision = '4884b3c90d9e'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('cmf_license_cmf_person_group',
    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_license.id'], ),
    sa.ForeignKeyConstraint(['right_id'], ['cmf_person_group.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_license_cmf_person_group_left_id'), 'cmf_license_cmf_person_group', ['left_id'], unique=False)
    op.create_index(op.f('ix_cmf_license_cmf_person_group_parent_id'), 'cmf_license_cmf_person_group', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_license_cmf_person_group_right_id'), 'cmf_license_cmf_person_group', ['right_id'], unique=False)
    op.create_index(op.f('ix_cmf_license_cmf_person_group_root_id'), 'cmf_license_cmf_person_group', ['root_id'], unique=False)
    op.add_column('cmf_license', sa.Column('lic_code', sa.String(length=32), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_product', sa.String(length=32), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_start_date', sa.DATE(), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_end_date', sa.DATE(), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_type', sa.String(length=32), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_user_limit', sa.Integer(), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_org_name', sa.String(length=256), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_regnum', sa.String(length=32), nullable=True))
    op.add_column('cmf_license', sa.Column('lic_cat', sa.String(length=32), nullable=True))
    op.alter_column('cmf_license', 'onboarding_status',
               existing_type=sa.VARCHAR(length=32),
               nullable=True,
               existing_server_default=sa.text("'open'::character varying"))
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.alter_column('cmf_license', 'onboarding_status',
               existing_type=sa.VARCHAR(length=32),
               nullable=False,
               existing_server_default=sa.text("'open'::character varying"))
    op.drop_column('cmf_license', 'lic_cat')
    op.drop_column('cmf_license', 'lic_regnum')
    op.drop_column('cmf_license', 'lic_org_name')
    op.drop_column('cmf_license', 'lic_user_limit')
    op.drop_column('cmf_license', 'lic_type')
    op.drop_column('cmf_license', 'lic_end_date')
    op.drop_column('cmf_license', 'lic_start_date')
    op.drop_column('cmf_license', 'lic_product')
    op.drop_column('cmf_license', 'lic_code')
    op.drop_index(op.f('ix_cmf_license_cmf_person_group_root_id'), table_name='cmf_license_cmf_person_group')
    op.drop_index(op.f('ix_cmf_license_cmf_person_group_right_id'), table_name='cmf_license_cmf_person_group')
    op.drop_index(op.f('ix_cmf_license_cmf_person_group_parent_id'), table_name='cmf_license_cmf_person_group')
    op.drop_index(op.f('ix_cmf_license_cmf_person_group_left_id'), table_name='cmf_license_cmf_person_group')
    op.drop_table('cmf_license_cmf_person_group')
    # ### end Alembic commands ###
