"""leads_and_comments

Revision ID: 4be0e0cbbd95
Revises: aaebfc270892
Create Date: 2020-05-09 22:16:44.614478

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

# revision identifiers, used by Alembic.
revision = '4be0e0cbbd95'
down_revision = 'aaebfc270892'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('comments', sa.Column('status_id', sa.BigInteger(), nullable=True, comment='Статус лида'))
    op.create_index(op.f('ix_comments_status_id'), 'comments', ['status_id'], unique=False)
    op.drop_constraint('comments_lead_id_fkey', 'comments', type_='foreignkey')
    op.create_foreign_key(None, 'comments', 'leads', ['lead_id'], ['id'], ondelete='CASCADE')
    op.create_foreign_key(None, 'comments', 'lead_statuses', ['status_id'], ['id'])
    op.add_column('leads', sa.Column('auction', sa.VARCHAR(length=100), nullable=True, comment='Номер аукциона'))
    op.add_column('leads', sa.Column('contacts', postgresql.JSONB(astext_type=sa.Text()), nullable=True, comment='Дополнительные контакты пользователя'))
    op.add_column('leads', sa.Column('incoming_date', sa.Date(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=True, comment='Дата прихода лида'))
    op.add_column('leads', sa.Column('inn', sa.VARCHAR(length=50), nullable=True, comment='ИНН'))
    op.add_column('leads', sa.Column('lead_hash', sa.VARCHAR(length=32), nullable=True, comment='md5 чек сумма полей'))
    op.add_column('leads', sa.Column('lead_person', sa.VARCHAR(length=150), nullable=True, comment='Контактное лицо'))
    op.add_column('leads', sa.Column('region', sa.VARCHAR(length=100), nullable=True, comment='Регион'))
    op.alter_column('leads', 'in_progress',
               existing_type=sa.BOOLEAN(),
               comment='Флаг взятия в работу',
               existing_comment='Флаг забаненного пользователя',
               existing_nullable=False,
               existing_server_default=sa.text('false'))
    op.alter_column('leads', 'name',
               existing_type=sa.VARCHAR(length=150),
               comment='ФИО или название компании',
               existing_comment='Имя или ФИО',
               existing_nullable=False)
    op.alter_column('leads', 'phone_number',
               existing_type=sa.VARCHAR(length=20),
               type_=sa.VARCHAR(length=255),
               existing_comment='Телефон',
               existing_nullable=True)
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.alter_column('leads', 'phone_number',
               existing_type=sa.VARCHAR(length=255),
               type_=sa.VARCHAR(length=20),
               existing_comment='Телефон',
               existing_nullable=True)
    op.drop_column('leads', 'region')
    op.drop_column('leads', 'lead_person')
    op.drop_column('leads', 'lead_hash')
    op.drop_column('leads', 'inn')
    op.drop_column('leads', 'incoming_date')
    op.drop_column('leads', 'contacts')
    op.drop_column('leads', 'auction')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.create_foreign_key('comments_lead_id_fkey', 'comments', 'leads', ['lead_id'], ['id'])
    op.drop_index(op.f('ix_comments_status_id'), table_name='comments')
    op.drop_column('comments', 'status_id')
    # ### end Alembic commands ###

be01cff97bbe7aac51356dad0063686b8491ddba
<mask token>


def upgrade():
    op.add_column('comments', sa.Column('status_id', sa.BigInteger(),
        nullable=True, comment='Статус лида'))
    op.create_index(op.f('ix_comments_status_id'), 'comments', ['status_id'
        ], unique=False)
    op.drop_constraint('comments_lead_id_fkey', 'comments', type_='foreignkey')
    op.create_foreign_key(None, 'comments', 'leads', ['lead_id'], ['id'],
        ondelete='CASCADE')
    op.create_foreign_key(None, 'comments', 'lead_statuses', ['status_id'],
        ['id'])
    op.add_column('leads', sa.Column('auction', sa.VARCHAR(length=100),
        nullable=True, comment='Номер аукциона'))
    op.add_column('leads', sa.Column('contacts', postgresql.JSONB(
        astext_type=sa.Text()), nullable=True, comment=
        'Дополнительные контакты пользователя'))
    op.add_column('leads', sa.Column('incoming_date', sa.Date(),
        server_default=sa.text('CURRENT_TIMESTAMP'), nullable=True, comment
        ='Дата прихода лида'))
    op.add_column('leads', sa.Column('inn', sa.VARCHAR(length=50), nullable
        =True, comment='ИНН'))
    op.add_column('leads', sa.Column('lead_hash', sa.VARCHAR(length=32),
        nullable=True, comment='md5 чек сумма полей'))
    op.add_column('leads', sa.Column('lead_person', sa.VARCHAR(length=150),
        nullable=True, comment='Контактное лицо'))
    op.add_column('leads', sa.Column('region', sa.VARCHAR(length=100),
        nullable=True, comment='Регион'))
    op.alter_column('leads', 'in_progress', existing_type=sa.BOOLEAN(),
        comment='Флаг взятия в работу', existing_comment=
        'Флаг забаненного пользователя', existing_nullable=False,
        existing_server_default=sa.text('false'))
    op.alter_column('leads', 'name', existing_type=sa.VARCHAR(length=150),
        comment='ФИО или название компании', existing_comment='Имя или ФИО',
        existing_nullable=False)
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=20), type_=sa.VARCHAR(length=255), existing_comment=
        'Телефон', existing_nullable=True)


<mask token>

<mask token>


def upgrade():
    op.add_column('comments', sa.Column('status_id', sa.BigInteger(),
        nullable=True, comment='Статус лида'))
    op.create_index(op.f('ix_comments_status_id'), 'comments', ['status_id'
        ], unique=False)
    op.drop_constraint('comments_lead_id_fkey', 'comments', type_='foreignkey')
    op.create_foreign_key(None, 'comments', 'leads', ['lead_id'], ['id'],
        ondelete='CASCADE')
    op.create_foreign_key(None, 'comments', 'lead_statuses', ['status_id'],
        ['id'])
    op.add_column('leads', sa.Column('auction', sa.VARCHAR(length=100),
        nullable=True, comment='Номер аукциона'))
    op.add_column('leads', sa.Column('contacts', postgresql.JSONB(
        astext_type=sa.Text()), nullable=True, comment=
        'Дополнительные контакты пользователя'))
    op.add_column('leads', sa.Column('incoming_date', sa.Date(),
        server_default=sa.text('CURRENT_TIMESTAMP'), nullable=True, comment
        ='Дата прихода лида'))
    op.add_column('leads', sa.Column('inn', sa.VARCHAR(length=50), nullable
        =True, comment='ИНН'))
    op.add_column('leads', sa.Column('lead_hash', sa.VARCHAR(length=32),
        nullable=True, comment='md5 чек сумма полей'))
    op.add_column('leads', sa.Column('lead_person', sa.VARCHAR(length=150),
        nullable=True, comment='Контактное лицо'))
    op.add_column('leads', sa.Column('region', sa.VARCHAR(length=100),
        nullable=True, comment='Регион'))
    op.alter_column('leads', 'in_progress', existing_type=sa.BOOLEAN(),
        comment='Флаг взятия в работу', existing_comment=
        'Флаг забаненного пользователя', existing_nullable=False,
        existing_server_default=sa.text('false'))
    op.alter_column('leads', 'name', existing_type=sa.VARCHAR(length=150),
        comment='ФИО или название компании', existing_comment='Имя или ФИО',
        existing_nullable=False)
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=20), type_=sa.VARCHAR(length=255), existing_comment=
        'Телефон', existing_nullable=True)


def downgrade():
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=255), type_=sa.VARCHAR(length=20), existing_comment=
        'Телефон', existing_nullable=True)
    op.drop_column('leads', 'region')
    op.drop_column('leads', 'lead_person')
    op.drop_column('leads', 'lead_hash')
    op.drop_column('leads', 'inn')
    op.drop_column('leads', 'incoming_date')
    op.drop_column('leads', 'contacts')
    op.drop_column('leads', 'auction')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.create_foreign_key('comments_lead_id_fkey', 'comments', 'leads', [
        'lead_id'], ['id'])
    op.drop_index(op.f('ix_comments_status_id'), table_name='comments')
    op.drop_column('comments', 'status_id')

<mask token>
revision = '4be0e0cbbd95'
down_revision = 'aaebfc270892'
branch_labels = None
depends_on = None


def upgrade():
    op.add_column('comments', sa.Column('status_id', sa.BigInteger(),
        nullable=True, comment='Статус лида'))
    op.create_index(op.f('ix_comments_status_id'), 'comments', ['status_id'
        ], unique=False)
    op.drop_constraint('comments_lead_id_fkey', 'comments', type_='foreignkey')
    op.create_foreign_key(None, 'comments', 'leads', ['lead_id'], ['id'],
        ondelete='CASCADE')
    op.create_foreign_key(None, 'comments', 'lead_statuses', ['status_id'],
        ['id'])
    op.add_column('leads', sa.Column('auction', sa.VARCHAR(length=100),
        nullable=True, comment='Номер аукциона'))
    op.add_column('leads', sa.Column('contacts', postgresql.JSONB(
        astext_type=sa.Text()), nullable=True, comment=
        'Дополнительные контакты пользователя'))
    op.add_column('leads', sa.Column('incoming_date', sa.Date(),
        server_default=sa.text('CURRENT_TIMESTAMP'), nullable=True, comment
        ='Дата прихода лида'))
    op.add_column('leads', sa.Column('inn', sa.VARCHAR(length=50), nullable
        =True, comment='ИНН'))
    op.add_column('leads', sa.Column('lead_hash', sa.VARCHAR(length=32),
        nullable=True, comment='md5 чек сумма полей'))
    op.add_column('leads', sa.Column('lead_person', sa.VARCHAR(length=150),
        nullable=True, comment='Контактное лицо'))
    op.add_column('leads', sa.Column('region', sa.VARCHAR(length=100),
        nullable=True, comment='Регион'))
    op.alter_column('leads', 'in_progress', existing_type=sa.BOOLEAN(),
        comment='Флаг взятия в работу', existing_comment=
        'Флаг забаненного пользователя', existing_nullable=False,
        existing_server_default=sa.text('false'))
    op.alter_column('leads', 'name', existing_type=sa.VARCHAR(length=150),
        comment='ФИО или название компании', existing_comment='Имя или ФИО',
        existing_nullable=False)
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=20), type_=sa.VARCHAR(length=255), existing_comment=
        'Телефон', existing_nullable=True)


def downgrade():
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=255), type_=sa.VARCHAR(length=20), existing_comment=
        'Телефон', existing_nullable=True)
    op.drop_column('leads', 'region')
    op.drop_column('leads', 'lead_person')
    op.drop_column('leads', 'lead_hash')
    op.drop_column('leads', 'inn')
    op.drop_column('leads', 'incoming_date')
    op.drop_column('leads', 'contacts')
    op.drop_column('leads', 'auction')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.create_foreign_key('comments_lead_id_fkey', 'comments', 'leads', [
        'lead_id'], ['id'])
    op.drop_index(op.f('ix_comments_status_id'), table_name='comments')
    op.drop_column('comments', 'status_id')

<mask token>
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
revision = '4be0e0cbbd95'
down_revision = 'aaebfc270892'
branch_labels = None
depends_on = None


def upgrade():
    op.add_column('comments', sa.Column('status_id', sa.BigInteger(),
        nullable=True, comment='Статус лида'))
    op.create_index(op.f('ix_comments_status_id'), 'comments', ['status_id'
        ], unique=False)
    op.drop_constraint('comments_lead_id_fkey', 'comments', type_='foreignkey')
    op.create_foreign_key(None, 'comments', 'leads', ['lead_id'], ['id'],
        ondelete='CASCADE')
    op.create_foreign_key(None, 'comments', 'lead_statuses', ['status_id'],
        ['id'])
    op.add_column('leads', sa.Column('auction', sa.VARCHAR(length=100),
        nullable=True, comment='Номер аукциона'))
    op.add_column('leads', sa.Column('contacts', postgresql.JSONB(
        astext_type=sa.Text()), nullable=True, comment=
        'Дополнительные контакты пользователя'))
    op.add_column('leads', sa.Column('incoming_date', sa.Date(),
        server_default=sa.text('CURRENT_TIMESTAMP'), nullable=True, comment
        ='Дата прихода лида'))
    op.add_column('leads', sa.Column('inn', sa.VARCHAR(length=50), nullable
        =True, comment='ИНН'))
    op.add_column('leads', sa.Column('lead_hash', sa.VARCHAR(length=32),
        nullable=True, comment='md5 чек сумма полей'))
    op.add_column('leads', sa.Column('lead_person', sa.VARCHAR(length=150),
        nullable=True, comment='Контактное лицо'))
    op.add_column('leads', sa.Column('region', sa.VARCHAR(length=100),
        nullable=True, comment='Регион'))
    op.alter_column('leads', 'in_progress', existing_type=sa.BOOLEAN(),
        comment='Флаг взятия в работу', existing_comment=
        'Флаг забаненного пользователя', existing_nullable=False,
        existing_server_default=sa.text('false'))
    op.alter_column('leads', 'name', existing_type=sa.VARCHAR(length=150),
        comment='ФИО или название компании', existing_comment='Имя или ФИО',
        existing_nullable=False)
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=20), type_=sa.VARCHAR(length=255), existing_comment=
        'Телефон', existing_nullable=True)


def downgrade():
    op.alter_column('leads', 'phone_number', existing_type=sa.VARCHAR(
        length=255), type_=sa.VARCHAR(length=20), existing_comment=
        'Телефон', existing_nullable=True)
    op.drop_column('leads', 'region')
    op.drop_column('leads', 'lead_person')
    op.drop_column('leads', 'lead_hash')
    op.drop_column('leads', 'inn')
    op.drop_column('leads', 'incoming_date')
    op.drop_column('leads', 'contacts')
    op.drop_column('leads', 'auction')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.create_foreign_key('comments_lead_id_fkey', 'comments', 'leads', [
        'lead_id'], ['id'])
    op.drop_index(op.f('ix_comments_status_id'), table_name='comments')
    op.drop_column('comments', 'status_id')

"""leads_and_comments

Revision ID: 4be0e0cbbd95
Revises: aaebfc270892
Create Date: 2020-05-09 22:16:44.614478

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

# revision identifiers, used by Alembic.
revision = '4be0e0cbbd95'
down_revision = 'aaebfc270892'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('comments', sa.Column('status_id', sa.BigInteger(), nullable=True, comment='Статус лида'))
    op.create_index(op.f('ix_comments_status_id'), 'comments', ['status_id'], unique=False)
    op.drop_constraint('comments_lead_id_fkey', 'comments', type_='foreignkey')
    op.create_foreign_key(None, 'comments', 'leads', ['lead_id'], ['id'], ondelete='CASCADE')
    op.create_foreign_key(None, 'comments', 'lead_statuses', ['status_id'], ['id'])
    op.add_column('leads', sa.Column('auction', sa.VARCHAR(length=100), nullable=True, comment='Номер аукциона'))
    op.add_column('leads', sa.Column('contacts', postgresql.JSONB(astext_type=sa.Text()), nullable=True, comment='Дополнительные контакты пользователя'))
    op.add_column('leads', sa.Column('incoming_date', sa.Date(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=True, comment='Дата прихода лида'))
    op.add_column('leads', sa.Column('inn', sa.VARCHAR(length=50), nullable=True, comment='ИНН'))
    op.add_column('leads', sa.Column('lead_hash', sa.VARCHAR(length=32), nullable=True, comment='md5 чек сумма полей'))
    op.add_column('leads', sa.Column('lead_person', sa.VARCHAR(length=150), nullable=True, comment='Контактное лицо'))
    op.add_column('leads', sa.Column('region', sa.VARCHAR(length=100), nullable=True, comment='Регион'))
    op.alter_column('leads', 'in_progress',
               existing_type=sa.BOOLEAN(),
               comment='Флаг взятия в работу',
               existing_comment='Флаг забаненного пользователя',
               existing_nullable=False,
               existing_server_default=sa.text('false'))
    op.alter_column('leads', 'name',
               existing_type=sa.VARCHAR(length=150),
               comment='ФИО или название компании',
               existing_comment='Имя или ФИО',
               existing_nullable=False)
    op.alter_column('leads', 'phone_number',
               existing_type=sa.VARCHAR(length=20),
               type_=sa.VARCHAR(length=255),
               existing_comment='Телефон',
               existing_nullable=True)
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.alter_column('leads', 'phone_number',
               existing_type=sa.VARCHAR(length=255),
               type_=sa.VARCHAR(length=20),
               existing_comment='Телефон',
               existing_nullable=True)
    op.drop_column('leads', 'region')
    op.drop_column('leads', 'lead_person')
    op.drop_column('leads', 'lead_hash')
    op.drop_column('leads', 'inn')
    op.drop_column('leads', 'incoming_date')
    op.drop_column('leads', 'contacts')
    op.drop_column('leads', 'auction')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.drop_constraint(None, 'comments', type_='foreignkey')
    op.create_foreign_key('comments_lead_id_fkey', 'comments', 'leads', ['lead_id'], ['id'])
    op.drop_index(op.f('ix_comments_status_id'), table_name='comments')
    op.drop_column('comments', 'status_id')
    # ### end Alembic commands ###
