12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- """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")
|