12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- """Add oauth_session table
- Revision ID: 38d63c18f30f
- Revises: 3af16a1c9fb6
- Create Date: 2025-09-08 14:19:59.583921
- """
- from typing import Sequence, Union
- from alembic import op
- import sqlalchemy as sa
- # revision identifiers, used by Alembic.
- revision: str = "38d63c18f30f"
- down_revision: Union[str, None] = "3af16a1c9fb6"
- branch_labels: Union[str, Sequence[str], None] = None
- depends_on: Union[str, Sequence[str], None] = None
- def upgrade() -> None:
- # Create oauth_session table
- op.create_table(
- "oauth_session",
- sa.Column("id", sa.Text(), nullable=False),
- sa.Column("user_id", sa.Text(), nullable=False),
- sa.Column("provider", sa.Text(), nullable=False),
- sa.Column("token", sa.Text(), nullable=False),
- sa.Column("expires_at", sa.BigInteger(), nullable=False),
- sa.Column("created_at", sa.BigInteger(), nullable=False),
- sa.Column("updated_at", sa.BigInteger(), nullable=False),
- sa.PrimaryKeyConstraint("id"),
- sa.ForeignKeyConstraint(["user_id"], ["user.id"], ondelete="CASCADE"),
- )
- # Create indexes for better performance
- op.create_index("idx_oauth_session_user_id", "oauth_session", ["user_id"])
- op.create_index("idx_oauth_session_expires_at", "oauth_session", ["expires_at"])
- op.create_index(
- "idx_oauth_session_user_provider", "oauth_session", ["user_id", "provider"]
- )
- def downgrade() -> None:
- # Drop indexes first
- op.drop_index("idx_oauth_session_user_provider", table_name="oauth_session")
- op.drop_index("idx_oauth_session_expires_at", table_name="oauth_session")
- op.drop_index("idx_oauth_session_user_id", table_name="oauth_session")
- # Drop the table
- op.drop_table("oauth_session")
|