Spaces:
Running
Running
"""Update message & channel tables | |
Revision ID: 3781e22d8b01 | |
Revises: 7826ab40b532 | |
Create Date: 2024-12-30 03:00:00.000000 | |
""" | |
from alembic import op | |
import sqlalchemy as sa | |
revision = "3781e22d8b01" | |
down_revision = "7826ab40b532" | |
branch_labels = None | |
depends_on = None | |
def upgrade(): | |
# Add 'type' column to the 'channel' table | |
op.add_column( | |
"channel", | |
sa.Column( | |
"type", | |
sa.Text(), | |
nullable=True, | |
), | |
) | |
# Add 'parent_id' column to the 'message' table for threads | |
op.add_column( | |
"message", | |
sa.Column("parent_id", sa.Text(), nullable=True), | |
) | |
op.create_table( | |
"message_reaction", | |
sa.Column( | |
"id", sa.Text(), nullable=False, primary_key=True, unique=True | |
), # Unique reaction ID | |
sa.Column("user_id", sa.Text(), nullable=False), # User who reacted | |
sa.Column( | |
"message_id", sa.Text(), nullable=False | |
), # Message that was reacted to | |
sa.Column( | |
"name", sa.Text(), nullable=False | |
), # Reaction name (e.g. "thumbs_up") | |
sa.Column( | |
"created_at", sa.BigInteger(), nullable=True | |
), # Timestamp of when the reaction was added | |
) | |
op.create_table( | |
"channel_member", | |
sa.Column( | |
"id", sa.Text(), nullable=False, primary_key=True, unique=True | |
), # Record ID for the membership row | |
sa.Column("channel_id", sa.Text(), nullable=False), # Associated channel | |
sa.Column("user_id", sa.Text(), nullable=False), # Associated user | |
sa.Column( | |
"created_at", sa.BigInteger(), nullable=True | |
), # Timestamp of when the user joined the channel | |
) | |
def downgrade(): | |
# Revert 'type' column addition to the 'channel' table | |
op.drop_column("channel", "type") | |
op.drop_column("message", "parent_id") | |
op.drop_table("message_reaction") | |
op.drop_table("channel_member") | |