HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/buyercall/migrations/versions/ed4b95ad0d43_add_team_table.py
"""Add team table

Revision ID: ed4b95ad0d43
Revises: b081ff1b6fd2
Create Date: 2022-07-20 19:05:16.383624

"""

# revision identifiers, used by Alembic.
from buyercall.lib.util_sqlalchemy import AwareDateTime
from sqlalchemy.dialects import postgresql
import sqlalchemy as sa
from alembic import op
revision = 'ed4b95ad0d43'
down_revision = 'b081ff1b6fd2'
branch_labels = None
depends_on = None


def upgrade():

    op.create_table('team',
                    sa.Column('created_on', AwareDateTime(), nullable=False),
                    sa.Column('updated_on', AwareDateTime(), nullable=False),
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('sid', postgresql.UUID(as_uuid=True), nullable=True),
                    sa.Column('name', sa.String(length=255), server_default='', nullable=True),
                    sa.Column('description', sa.String(), server_default='', nullable=True),
                    sa.Column('is_active', sa.Boolean(), nullable=False),
                    sa.Column('partnership_account_id', sa.Integer(), nullable=False),
                    sa.Column('partnership_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(['partnership_account_id'], ['partnership_accounts.id'],
                                            onupdate='CASCADE', ondelete='CASCADE'),
                    sa.ForeignKeyConstraint(['partnership_id'], ['partnerships.id'],
                                            onupdate='CASCADE', ondelete='CASCADE'),
                    sa.PrimaryKeyConstraint('id')
                    )
    op.create_index(op.f('ix_team_partnership_account_id'), 'team', ['partnership_account_id'], unique=False)
    op.create_index(op.f('ix_team_partnership_id'), 'team', ['partnership_id'], unique=False)
    op.create_index(op.f('ix_team_sid'), 'team', ['sid'], unique=True)
    op.create_table('agent_team_association',
                    sa.Column('agent_id', sa.Integer(), nullable=True),
                    sa.Column('team_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(['agent_id'], ['agents.id'], ),
                    sa.ForeignKeyConstraint(['team_id'], ['team.id'], )
                    )


def downgrade():
    op.drop_table('agent_team_association')
    op.drop_index(op.f('ix_team_sid'), table_name='team')
    op.drop_index(op.f('ix_team_partnership_id'), table_name='team')
    op.drop_index(op.f('ix_team_partnership_account_id'), table_name='team')
    op.drop_table('team')