Spaces:
Paused
Paused
| """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") | |