"""delete sales_order

Revision ID: d755bad7803f
Revises: 6c57c5fa4ad9
Create Date: 2021-09-22 10:40:06.200942

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

# revision identifiers, used by Alembic.
revision = 'd755bad7803f'
down_revision = '6c57c5fa4ad9'
branch_labels = None
depends_on = None


def upgrade():
    op.drop_index('ix_cmf_invoice_sales_order_id', table_name='cmf_invoice')
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('cmf_deal_items',
    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.Integer(), 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('cache_last_comments', sa.TEXT(), nullable=False),
    sa.Column('name_cache', sa.String(length=256), nullable=True),
    sa.Column('discount', sa.Numeric(precision=14, scale=2), nullable=True),
    sa.Column('discount_pct', sa.Numeric(precision=14, scale=2), nullable=True),
    sa.Column('item_count', sa.Numeric(precision=14, scale=2), nullable=True),
    sa.Column('price', sa.Numeric(precision=14, scale=2), nullable=True),
    sa.Column('total', sa.Numeric(precision=14, scale=2), 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('cmf_owner_assistant_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('deal_id', sa.String(length=64), nullable=True),
    sa.Column('product_id', sa.String(length=64), nullable=True),
    sa.Column('unit_id', sa.String(length=64), nullable=True),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], ),
    sa.ForeignKeyConstraint(['deal_id'], ['cmf_deal.id'], ),
    sa.ForeignKeyConstraint(['product_id'], ['cmf_product.id'], ),
    sa.ForeignKeyConstraint(['unit_id'], ['cmf_unit.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_deal_items_cmf_author_id'), 'cmf_deal_items', ['cmf_author_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_created_at'), 'cmf_deal_items', ['cmf_created_at'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_deleted'), 'cmf_deal_items', ['cmf_deleted'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_import_id'), 'cmf_deal_items', ['cmf_import_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_locked_at'), 'cmf_deal_items', ['cmf_locked_at'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_locked_by_id'), 'cmf_deal_items', ['cmf_locked_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_modified_at'), 'cmf_deal_items', ['cmf_modified_at'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_modified_by_id'), 'cmf_deal_items', ['cmf_modified_by_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_owner_assistant_id'), 'cmf_deal_items', ['cmf_owner_assistant_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_owner_id'), 'cmf_deal_items', ['cmf_owner_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_version'), 'cmf_deal_items', ['cmf_version'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_cmf_viewed_at'), 'cmf_deal_items', ['cmf_viewed_at'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_code'), 'cmf_deal_items', ['code'], unique=True)
    op.create_index(op.f('ix_cmf_deal_items_deal_id'), 'cmf_deal_items', ['deal_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_name'), 'cmf_deal_items', ['name'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_parent_id'), 'cmf_deal_items', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_product_id'), 'cmf_deal_items', ['product_id'], unique=False)
    op.create_index(op.f('ix_cmf_deal_items_unit_id'), 'cmf_deal_items', ['unit_id'], unique=False)
    op.drop_index('ix_cmf_sales_order_activity_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_alarm_date', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_approved', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cache_status_opt_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cache_status_type', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_author_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_created_at', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_deleted', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_import_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_locked_at', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_locked_by_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_modified_at', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_modified_by_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_owner_assistant_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_owner_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_version', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_cmf_viewed_at', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_code', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_company_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_currency_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_deal_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_name', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_orderno', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_parent_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_period_clone_from_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_responsible_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_status_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_stock_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_tree_parent_id', table_name='cmf_sales_order')
    op.drop_index('ix_cmf_sales_order_waiting_for_id', table_name='cmf_sales_order')

    op.drop_index('ix_cmf_sales_order_spectators_left_id', table_name='cmf_sales_order_spectators')
    op.drop_index('ix_cmf_sales_order_spectators_parent_id', table_name='cmf_sales_order_spectators')
    op.drop_index('ix_cmf_sales_order_spectators_right_id', table_name='cmf_sales_order_spectators')
    op.drop_index('ix_cmf_sales_order_spectators_root_id', table_name='cmf_sales_order_spectators')
    op.drop_table('cmf_sales_order_spectators')
    op.drop_index('ix_cmf_sales_order_items_cmf_author_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_created_at', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_deleted', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_import_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_locked_at', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_locked_by_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_modified_at', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_modified_by_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_owner_assistant_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_owner_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_version', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_cmf_viewed_at', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_code', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_name', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_parent_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_product_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_sales_order_id', table_name='cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_items_unit_id', table_name='cmf_sales_order_items')
    op.drop_table('cmf_sales_order_items')
    op.drop_index('ix_cmf_sales_order_executors_left_id', table_name='cmf_sales_order_executors')
    op.drop_index('ix_cmf_sales_order_executors_parent_id', table_name='cmf_sales_order_executors')
    op.drop_index('ix_cmf_sales_order_executors_right_id', table_name='cmf_sales_order_executors')
    op.drop_index('ix_cmf_sales_order_executors_root_id', table_name='cmf_sales_order_executors')
    op.drop_table('cmf_sales_order_executors')
    op.add_column('cmf_deal', sa.Column('total_discount', sa.Numeric(precision=14, scale=2), nullable=False, server_default='0'))
    op.add_column('cmf_deal', sa.Column('total_tax', sa.Numeric(precision=14, scale=2), nullable=False, server_default='0'))
    op.add_column('cmf_deal', sa.Column('stock_id', sa.String(length=64), nullable=True))
    op.create_index(op.f('ix_cmf_deal_stock_id'), 'cmf_deal', ['stock_id'], unique=False)
    op.create_foreign_key(None, 'cmf_deal', 'cmf_stock', ['stock_id'], ['id'])

    op.drop_constraint('cmf_invoice_sales_order_id_fkey', 'cmf_invoice', type_='foreignkey')
    op.drop_column('cmf_invoice', 'sales_order_id')
    op.drop_table('cmf_sales_order')
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('cmf_invoice', sa.Column('sales_order_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True))
    op.create_foreign_key('cmf_invoice_sales_order_id_fkey', 'cmf_invoice', 'cmf_sales_order', ['sales_order_id'], ['id'])
    op.create_index('ix_cmf_invoice_sales_order_id', 'cmf_invoice', ['sales_order_id'], unique=False)
    op.drop_constraint(None, 'cmf_deal', type_='foreignkey')
    op.drop_index(op.f('ix_cmf_deal_stock_id'), table_name='cmf_deal')
    op.drop_column('cmf_deal', 'stock_id')
    op.drop_column('cmf_deal', 'total_tax')
    op.drop_column('cmf_deal', 'total_discount')
    op.create_table('cmf_sales_order_executors',
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_sales_order_executors_pkey')
    )
    op.create_index('ix_cmf_sales_order_executors_root_id', 'cmf_sales_order_executors', ['root_id'], unique=False)
    op.create_index('ix_cmf_sales_order_executors_right_id', 'cmf_sales_order_executors', ['right_id'], unique=False)
    op.create_index('ix_cmf_sales_order_executors_parent_id', 'cmf_sales_order_executors', ['parent_id'], unique=False)
    op.create_index('ix_cmf_sales_order_executors_left_id', 'cmf_sales_order_executors', ['left_id'], unique=False)
    op.create_table('cmf_sales_order_items',
    sa.Column('cmf_author_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_deleted', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('cmf_locked_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cmf_locked_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_modified_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_owner_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_version', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('cmf_viewed_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('code', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('name', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('price', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.Column('product_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('text', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('discount', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.Column('discount_pct', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.Column('name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('sales_order_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('unit_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_owner_assistant_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cache_last_comments', sa.TEXT(), autoincrement=False, nullable=False),
    sa.Column('total', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.Column('cmf_import_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('system', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('item_count', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], name='cmf_sales_order_items_cmf_import_id_fkey'),
    sa.ForeignKeyConstraint(['product_id'], ['cmf_product.id'], name='cmf_sales_order_items_product_id_fkey'),
    sa.ForeignKeyConstraint(['sales_order_id'], ['cmf_sales_order.id'], name='cmf_sales_order_items_sales_order_id_fkey'),
    sa.ForeignKeyConstraint(['unit_id'], ['cmf_unit.id'], name='cmf_sales_order_items_unit_id_fkey'),
    sa.PrimaryKeyConstraint('id', name='cmf_sales_order_items_pkey')
    )
    op.create_index('ix_cmf_sales_order_items_unit_id', 'cmf_sales_order_items', ['unit_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_sales_order_id', 'cmf_sales_order_items', ['sales_order_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_product_id', 'cmf_sales_order_items', ['product_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_parent_id', 'cmf_sales_order_items', ['parent_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_name', 'cmf_sales_order_items', ['name'], unique=False)
    op.create_index('ix_cmf_sales_order_items_code', 'cmf_sales_order_items', ['code'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_viewed_at', 'cmf_sales_order_items', ['cmf_viewed_at'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_version', 'cmf_sales_order_items', ['cmf_version'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_owner_id', 'cmf_sales_order_items', ['cmf_owner_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_owner_assistant_id', 'cmf_sales_order_items', ['cmf_owner_assistant_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_modified_by_id', 'cmf_sales_order_items', ['cmf_modified_by_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_modified_at', 'cmf_sales_order_items', ['cmf_modified_at'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_locked_by_id', 'cmf_sales_order_items', ['cmf_locked_by_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_locked_at', 'cmf_sales_order_items', ['cmf_locked_at'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_import_id', 'cmf_sales_order_items', ['cmf_import_id'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_deleted', 'cmf_sales_order_items', ['cmf_deleted'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_created_at', 'cmf_sales_order_items', ['cmf_created_at'], unique=False)
    op.create_index('ix_cmf_sales_order_items_cmf_author_id', 'cmf_sales_order_items', ['cmf_author_id'], unique=False)
    op.create_table('cmf_sales_order_spectators',
    sa.Column('description', sa.VARCHAR(length=4096), autoincrement=False, nullable=True),
    sa.Column('id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('left_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('left_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('right_name_cache', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('root_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.PrimaryKeyConstraint('id', name='cmf_sales_order_spectators_pkey')
    )
    op.create_index('ix_cmf_sales_order_spectators_root_id', 'cmf_sales_order_spectators', ['root_id'], unique=False)
    op.create_index('ix_cmf_sales_order_spectators_right_id', 'cmf_sales_order_spectators', ['right_id'], unique=False)
    op.create_index('ix_cmf_sales_order_spectators_parent_id', 'cmf_sales_order_spectators', ['parent_id'], unique=False)
    op.create_index('ix_cmf_sales_order_spectators_left_id', 'cmf_sales_order_spectators', ['left_id'], unique=False)
    op.create_table('cmf_sales_order',
    sa.Column('activity_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('alarm_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cache_status_type', sa.VARCHAR(length=32), autoincrement=False, nullable=True),
    sa.Column('cmf_author_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_deleted', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('cmf_locked_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('cmf_locked_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=False),
    sa.Column('cmf_modified_by_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_owner_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_version', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('cmf_viewed_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('code', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('company_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('currency_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('deadline', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('deal_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('discount', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.Column('id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('is_penalty', sa.BOOLEAN(), autoincrement=False, nullable=True),
    sa.Column('mark', sa.VARCHAR(length=32), autoincrement=False, nullable=True),
    sa.Column('name', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    sa.Column('no_control', sa.BOOLEAN(), autoincrement=False, nullable=True),
    sa.Column('orderno', sa.INTEGER(), autoincrement=False, nullable=False),
    sa.Column('period_clone_from_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('period_interval', sa.VARCHAR(length=32), autoincrement=False, nullable=True),
    sa.Column('period_next_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('plan_end_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('plan_start_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('priority', sa.VARCHAR(length=32), autoincrement=False, nullable=False),
    sa.Column('parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('responsible_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('status_id', sa.VARCHAR(length=64), autoincrement=False, nullable=False),
    sa.Column('status_modified_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True),
    sa.Column('text', sa.TEXT(), autoincrement=False, nullable=True),
    sa.Column('time_estimate', sa.INTEGER(), autoincrement=False, nullable=True),
    sa.Column('tree_parent_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('waiting_for_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('discount_pct', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=True),
    sa.Column('stock_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cache_status_opt_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('cmf_owner_assistant_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('approved', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('total', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=False),
    sa.Column('total_discount', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=False),
    sa.Column('total_tax', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=False),
    sa.Column('total_without_discount', sa.NUMERIC(precision=14, scale=2), autoincrement=False, nullable=False),
    sa.Column('cache_last_comments', sa.TEXT(), autoincrement=False, nullable=False),
    sa.Column('cmf_import_id', sa.VARCHAR(length=64), autoincrement=False, nullable=True),
    sa.Column('system', sa.BOOLEAN(), autoincrement=False, nullable=False),
    sa.Column('cache_fields', sa.TEXT(), autoincrement=False, nullable=True),
    sa.ForeignKeyConstraint(['activity_id'], ['cmf_activity.id'], name='cmf_sales_order_activity_id_fkey'),
    sa.ForeignKeyConstraint(['cache_status_opt_id'], ['cmf_status_opt.id'], name='cmf_sales_order_cache_status_opt_id_fkey'),
    sa.ForeignKeyConstraint(['cmf_import_id'], ['cmf_import.id'], name='cmf_sales_order_cmf_import_id_fkey'),
    sa.ForeignKeyConstraint(['company_id'], ['cmf_company.id'], name='cmf_sales_order_company_id_fkey'),
    sa.ForeignKeyConstraint(['currency_id'], ['cmf_currency.id'], name='cmf_sales_order_currency_id_fkey'),
    sa.ForeignKeyConstraint(['deal_id'], ['cmf_deal.id'], name='cmf_sales_order_deal_id_fkey'),
    sa.ForeignKeyConstraint(['status_id'], ['cmf_status.id'], name='cmf_sales_order_status_id_fkey'),
    sa.ForeignKeyConstraint(['stock_id'], ['cmf_stock.id'], name='cmf_sales_order_stock_id_fkey'),
    sa.PrimaryKeyConstraint('id', name='cmf_sales_order_pkey')
    )
    op.create_index('ix_cmf_sales_order_waiting_for_id', 'cmf_sales_order', ['waiting_for_id'], unique=False)
    op.create_index('ix_cmf_sales_order_tree_parent_id', 'cmf_sales_order', ['tree_parent_id'], unique=False)
    op.create_index('ix_cmf_sales_order_stock_id', 'cmf_sales_order', ['stock_id'], unique=False)
    op.create_index('ix_cmf_sales_order_status_id', 'cmf_sales_order', ['status_id'], unique=False)
    op.create_index('ix_cmf_sales_order_responsible_id', 'cmf_sales_order', ['responsible_id'], unique=False)
    op.create_index('ix_cmf_sales_order_period_clone_from_id', 'cmf_sales_order', ['period_clone_from_id'], unique=False)
    op.create_index('ix_cmf_sales_order_parent_id', 'cmf_sales_order', ['parent_id'], unique=False)
    op.create_index('ix_cmf_sales_order_orderno', 'cmf_sales_order', ['orderno'], unique=False)
    op.create_index('ix_cmf_sales_order_name', 'cmf_sales_order', ['name'], unique=False)
    op.create_index('ix_cmf_sales_order_deal_id', 'cmf_sales_order', ['deal_id'], unique=False)
    op.create_index('ix_cmf_sales_order_currency_id', 'cmf_sales_order', ['currency_id'], unique=False)
    op.create_index('ix_cmf_sales_order_company_id', 'cmf_sales_order', ['company_id'], unique=False)
    op.create_index('ix_cmf_sales_order_code', 'cmf_sales_order', ['code'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_viewed_at', 'cmf_sales_order', ['cmf_viewed_at'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_version', 'cmf_sales_order', ['cmf_version'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_owner_id', 'cmf_sales_order', ['cmf_owner_id'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_owner_assistant_id', 'cmf_sales_order', ['cmf_owner_assistant_id'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_modified_by_id', 'cmf_sales_order', ['cmf_modified_by_id'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_modified_at', 'cmf_sales_order', ['cmf_modified_at'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_locked_by_id', 'cmf_sales_order', ['cmf_locked_by_id'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_locked_at', 'cmf_sales_order', ['cmf_locked_at'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_import_id', 'cmf_sales_order', ['cmf_import_id'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_deleted', 'cmf_sales_order', ['cmf_deleted'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_created_at', 'cmf_sales_order', ['cmf_created_at'], unique=False)
    op.create_index('ix_cmf_sales_order_cmf_author_id', 'cmf_sales_order', ['cmf_author_id'], unique=False)
    op.create_index('ix_cmf_sales_order_cache_status_type', 'cmf_sales_order', ['cache_status_type'], unique=False)
    op.create_index('ix_cmf_sales_order_cache_status_opt_id', 'cmf_sales_order', ['cache_status_opt_id'], unique=False)
    op.create_index('ix_cmf_sales_order_approved', 'cmf_sales_order', ['approved'], unique=False)
    op.create_index('ix_cmf_sales_order_alarm_date', 'cmf_sales_order', ['alarm_date'], unique=False)
    op.create_index('ix_cmf_sales_order_activity_id', 'cmf_sales_order', ['activity_id'], unique=False)
    op.drop_index(op.f('ix_cmf_deal_items_unit_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_product_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_parent_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_name'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_deal_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_code'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_viewed_at'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_version'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_owner_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_owner_assistant_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_modified_by_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_modified_at'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_locked_by_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_locked_at'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_import_id'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_deleted'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_created_at'), table_name='cmf_deal_items')
    op.drop_index(op.f('ix_cmf_deal_items_cmf_author_id'), table_name='cmf_deal_items')
    op.drop_table('cmf_deal_items')
    # ### end Alembic commands ###
