"""create messages table Revision ID: b2c3d4e5f6g7 Revises: a1b2c3d4e5f6 Create Date: 2023-01-01 13:00:00.000000 """ from alembic import op import sqlalchemy as sa from sqlalchemy.sql import func import uuid # revision identifiers revision = 'b2c3d4e5f6g7' down_revision = 'a1b2c3d4e5f6' branch_labels = None depends_on = None def upgrade(): op.create_table( 'messages', sa.Column('id', sa.String(), primary_key=True, default=lambda: str(uuid.uuid4())), sa.Column('sender_id', sa.String(), sa.ForeignKey('users.id', ondelete='CASCADE')), sa.Column('receiver_id', sa.String(), sa.ForeignKey('users.id', ondelete='CASCADE')), sa.Column('content', sa.Text(), nullable=False), sa.Column('is_read', sa.Boolean(), default=False), sa.Column('created_at', sa.DateTime(), server_default=sa.func.now()), sa.Column('updated_at', sa.DateTime(), server_default=sa.func.now(), onupdate=sa.func.now()), sa.PrimaryKeyConstraint('id') ) op.create_index('ix_messages_sender_id', 'messages', ['sender_id']) op.create_index('ix_messages_receiver_id', 'messages', ['receiver_id']) op.create_index('ix_messages_created_at', 'messages', ['created_at']) def downgrade(): op.drop_index('ix_messages_created_at', 'messages') op.drop_index('ix_messages_receiver_id', 'messages') op.drop_index('ix_messages_sender_id', 'messages') op.drop_table('messages')