diff --git a/backend/alembic/versions/2a9b9873244a_add_presence_columns.py b/backend/alembic/versions/2a9b9873244a_add_presence_columns.py new file mode 100644 index 0000000..5926ed4 --- /dev/null +++ b/backend/alembic/versions/2a9b9873244a_add_presence_columns.py @@ -0,0 +1,29 @@ +"""add presence columns to users + +Revision ID: 2a9b9873244a +Revises: 0001_initial +Create Date: 2026-08-18 15:59:09.298919 +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = '2a9b9873244a' +down_revision: Union[str, None] = '0001_initial' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Add last_seen_at and status_message columns to users table.""" + op.add_column('users', sa.Column('last_seen_at', sa.DateTime(timezone=True), nullable=True)) + op.add_column('users', sa.Column('status_message', sa.Text(), nullable=True)) + + +def downgrade() -> None: + """Remove presence columns from users table.""" + op.drop_column('users', 'status_message') + op.drop_column('users', 'last_seen_at') diff --git a/backend/app/models/user.py b/backend/app/models/user.py index 5b2cd09..1b752f7 100644 --- a/backend/app/models/user.py +++ b/backend/app/models/user.py @@ -16,7 +16,7 @@ class User(Base): created_at = Column(DateTime(timezone=True), server_default=func.now()) updated_at = Column(DateTime(timezone=True), onupdate=func.now()) - # Presence / status columns + # Presence / status last_seen_at = Column(DateTime(timezone=True), nullable=True) status_message = Column(Text, nullable=True)