File: //home/arjun/projects/buyercall/buyercall/migrations/versions/9ec77608de2_add_the_messages_table.py
"""Add the Messages table
Revision ID: 9ec77608de2
Revises: 2f61212a19ad
Create Date: 2018-05-02 12:16:54.102123
"""
# revision identifiers, used by Alembic.
revision = '9ec77608de2'
down_revision = '2f61212a19ad'
branch_labels = None
depends_on = None
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
def upgrade():
op.create_table('messages',
sa.Column('created_on',
postgresql.TIMESTAMP(timezone=True),
autoincrement=False, nullable=True),
sa.Column('updated_on',
postgresql.TIMESTAMP(timezone=True),
autoincrement=False, nullable=True),
sa.Column('id', sa.INTEGER(), primary_key=True),
sa.Column('type', sa.String(32), nullable=False, server_default=''),
sa.Column('provider',sa. String(32), nullable=False, server_default='', index=True),
sa.Column('provider_message_id', sa.String(64), nullable=False, server_default=''),
sa.Column('provider_message_date', sa.String(64), nullable=False, server_default=''),
sa.Column('to', sa.String(20), index=True, nullable=False, server_default=''),
sa.Column('from', sa.String(20), index=True, nullable=False, server_default=''),
sa.Column('body_text', sa.String(1024), nullable=False, server_default=''),
sa.Column('num_media_files', sa.String(10), nullable=True),
sa.Column('media_url', sa.String(512), nullable=True),
sa.Column('status', sa.String(64), nullable=False, server_default=''),
sa.Column('delivery_code', sa.Integer(), nullable=True),
sa.Column('delivery_description', sa.String(256), nullable=True),
sa.Column('direction', sa.String(64), nullable=False, server_default=''),
sa.Column('inbound_id', sa.Integer(), sa.ForeignKey(
'phonenumbers.id', name='message_inbound_fkey', onupdate='CASCADE', ondelete='SET NULL'),
index=True, nullable=False),
sa.Column('partnership_account_id', sa.Integer(),
sa.ForeignKey('partnership_accounts.id', name='message_partnership_account_fkey',
onupdate='CASCADE', ondelete='CASCADE'),
index=True, nullable=False),
sa.Column('contact_id', sa.Integer(),
sa.ForeignKey('contacts.id', name='message_contact_fkey',
onupdate='CASCADE', ondelete='CASCADE'),
index=True, nullable=False),
sa.Index('messages_id_index', 'id', unique=True)
)
def downgrade():
op.drop_table('messages')