"""OAuth-вход (Google/Яндекс): oauth_provider/oauth_id, hashed_password nullable. Revision ID: 004 Revises: 003 Create Date: 2026-08-24 """ import sqlalchemy as sa from alembic import op revision = "004" down_revision = "003" branch_labels = None depends_on = None def upgrade() -> None: # OAuth-пользователи не заводят пароль op.alter_column("users", "hashed_password", nullable=True) op.add_column("users", sa.Column("oauth_provider", sa.String(20), nullable=True)) op.add_column("users", sa.Column("oauth_id", sa.String(255), nullable=True)) op.create_index( "ix_users_oauth_provider_id", "users", ["oauth_provider", "oauth_id"], unique=True ) def downgrade() -> None: op.drop_index("ix_users_oauth_provider_id", table_name="users") op.drop_column("users", "oauth_id") op.drop_column("users", "oauth_provider") op.alter_column("users", "hashed_password", nullable=False)