"""add auth sessions Revision ID: 20260413_0003 Revises: 20260413_0002 Create Date: 2026-04-13 20:10:00.000000 """ from alembic import op import sqlalchemy as sa revision = "20260413_0003" down_revision = "20260413_0002" branch_labels = None depends_on = None def upgrade() -> None: op.create_table( "auth_sessions", sa.Column("id", sa.String(), nullable=False), sa.Column("user_id", sa.String(), nullable=False), sa.Column("token_hash", sa.String(), nullable=False), sa.Column("expires_at", sa.DateTime(timezone=True), nullable=False), sa.Column("revoked_at", sa.DateTime(timezone=True), nullable=True), sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False), sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False), sa.ForeignKeyConstraint(["user_id"], ["users.id"]), sa.PrimaryKeyConstraint("id"), ) op.create_index( "idx_auth_sessions_user_status", "auth_sessions", ["user_id", "revoked_at", "expires_at"], ) op.create_index("idx_auth_sessions_token_hash", "auth_sessions", ["token_hash"], unique=True) def downgrade() -> None: op.drop_index("idx_auth_sessions_token_hash", table_name="auth_sessions") op.drop_index("idx_auth_sessions_user_status", table_name="auth_sessions") op.drop_table("auth_sessions")