diff --git a/alembic/versions/0005_user_role_fk.py b/alembic/versions/0005_user_role_fk.py new file mode 100644 index 0000000..0f8fff0 --- /dev/null +++ b/alembic/versions/0005_user_role_fk.py @@ -0,0 +1,37 @@ +"""T10: Add role_id FK column to users table (references roles.id). + +Revision ID: 0005_user_role_fk +Revises: 0004_ai_workflows +Create Date: 2026-07-03 +""" + +from __future__ import annotations + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +revision: str = "0005_user_role_fk" +down_revision: Union[str, None] = "0004_ai_workflows" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.add_column( + "users", + sa.Column( + "role_id", + postgresql.UUID(as_uuid=True), + sa.ForeignKey("roles.id", ondelete="SET NULL"), + nullable=True, + ), + ) + op.create_index("ix_users_role_id", "users", ["role_id"]) + + +def downgrade() -> None: + op.drop_index("ix_users_role_id", table_name="users") + op.drop_column("users", "role_id")