54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
|
"""private messages
|
||
|
|
||
|
Revision ID: d049de007ccf
|
||
|
Revises: 834b1a697901
|
||
|
Create Date: 2017-11-12 23:30:28.571784
|
||
|
|
||
|
"""
|
||
|
from alembic import op
|
||
|
import sqlalchemy as sa
|
||
|
|
||
|
|
||
|
# revision identifiers, used by Alembic.
|
||
|
revision = 'd049de007ccf'
|
||
|
down_revision = '2b017edaa91f'
|
||
|
branch_labels = None
|
||
|
depends_on = None
|
||
|
|
||
|
|
||
|
def upgrade():
|
||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||
|
op.create_table('message',
|
||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||
|
sa.Column('sender_id', sa.Integer(), nullable=True),
|
||
|
sa.Column('recipient_id', sa.Integer(), nullable=True),
|
||
|
sa.Column('body', sa.String(length=140), nullable=True),
|
||
|
sa.Column('timestamp', sa.DateTime(), nullable=True),
|
||
|
sa.ForeignKeyConstraint(['recipient_id'], ['user.id'], ),
|
||
|
sa.ForeignKeyConstraint(['sender_id'], ['user.id'], ),
|
||
|
sa.PrimaryKeyConstraint('id')
|
||
|
)
|
||
|
|
||
|
with op.batch_alter_table('message', schema=None) as batch_op:
|
||
|
batch_op.create_index(batch_op.f('ix_message_recipient_id'), ['recipient_id'], unique=False)
|
||
|
batch_op.create_index(batch_op.f('ix_message_sender_id'), ['sender_id'], unique=False)
|
||
|
batch_op.create_index(batch_op.f('ix_message_timestamp'), ['timestamp'], unique=False)
|
||
|
|
||
|
with op.batch_alter_table('user', schema=None) as batch_op:
|
||
|
batch_op.add_column(sa.Column('last_message_read_time', sa.DateTime(), nullable=True))
|
||
|
# ### end Alembic commands ###
|
||
|
|
||
|
|
||
|
def downgrade():
|
||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||
|
with op.batch_alter_table('user', schema=None) as batch_op:
|
||
|
batch_op.drop_column('last_message_read_time')
|
||
|
|
||
|
with op.batch_alter_table('notification', schema=None) as batch_op:
|
||
|
batch_op.drop_index(batch_op.f('ix_notification_timestamp'))
|
||
|
batch_op.drop_index(batch_op.f('ix_message_sender_id'))
|
||
|
batch_op.drop_index(batch_op.f('ix_message_recipient_id'))
|
||
|
|
||
|
op.drop_table('message')
|
||
|
# ### end Alembic commands ###
|