File: //home/arjun/projects/buyercall/buyercall/migrations/versions/7ceadf892b98_add_appointment_table.py
"""Add appointment table
Revision ID: ba49cfc1e494
Revises: 5bb73b0033a1
Create Date: 2021-04-05 18:05:50.566936
"""
# revision identifiers, used by Alembic.
revision = 'ba49cfc1e494'
down_revision = '5bb73b0033a1'
branch_labels = None
depends_on = None
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
from sqlalchemy.dialects.postgresql import UUID
from buyercall.lib.util_sqlalchemy import DateTime
def upgrade():
op.create_table('appointments',
sa.Column('created_on',
postgresql.TIMESTAMP(timezone=True),
autoincrement=False, nullable=False),
sa.Column('updated_on',
postgresql.TIMESTAMP(timezone=True),
autoincrement=False, nullable=False),
sa.Column('id', sa.INTEGER(), nullable=False),
sa.Column('sid', UUID(as_uuid=True), nullable=False, unique=True),
sa.Column('partnership_account_id',
sa.INTEGER(),
nullable=False),
sa.Column('user_id',
sa.INTEGER(),
nullable=True),
sa.Column('contact_id',
sa.INTEGER(),
nullable=False),
sa.Column('appointment_date', DateTime(),
nullable=False),
sa.Column('appointment_type', sa.VARCHAR(length=128),
nullable=False, server_default='general'),
sa.Column('deactivated_on', sa.DateTime,
nullable=True),
sa.Column('is_deactivated', sa.BOOLEAN(),
nullable=False, server_default='0'),
sa.PrimaryKeyConstraint('id', name=u'appointments_pkey'),
sa.ForeignKeyConstraint(['partnership_account_id'], [u'partnership_accounts.id'],
name=u'appointment_partner_account_id_fkey',
onupdate=u'CASCADE',
ondelete=u'CASCADE'),
sa.ForeignKeyConstraint(['user_id'], [u'users.id'],
name=u'appointment_user_fkey',
onupdate=u'CASCADE',
ondelete=u'CASCADE'),
sa.ForeignKeyConstraint(['contact_id'], [u'contacts.id'],
name=u'appointment_contact_fkey',
onupdate=u'CASCADE',
ondelete=u'CASCADE'),
),
def downgrade():
op.drop_table('appointments'),