From 22e8756fa457d42e119b21af6ea98b1e384b398a Mon Sep 17 00:00:00 2001 From: Leopoldadmin Date: Fri, 3 Jul 2026 19:50:08 +0000 Subject: [PATCH] =?UTF-8?q?Problem=201:=20Alembic=20migration=200005=20?= =?UTF-8?q?=E2=80=94=20add=20role=5Fid=20FK=20column=20to=20users=20table?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alembic/versions/0005_user_role_fk.py | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 alembic/versions/0005_user_role_fk.py 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")