M21: add optional organisation identity

This commit is contained in:
NuklearRabbit
2026-08-10 15:35:25 +02:00
parent 509cb95110
commit c3f1cfc699
38 changed files with 563 additions and 110 deletions
@@ -0,0 +1,28 @@
"""add optional external OIDC identity
Revision ID: a81d0ce9f662
Revises: f43d829ab610
"""
import sqlalchemy as sa
from alembic import op
revision = "a81d0ce9f662"
down_revision = "f43d829ab610"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("users", sa.Column("identity_provider", sa.String(80), nullable=True))
op.add_column("users", sa.Column("external_subject", sa.String(255), nullable=True))
op.create_unique_constraint(
"uq_user_external_identity", "users", ["identity_provider", "external_subject"]
)
def downgrade() -> None:
op.drop_constraint("uq_user_external_identity", "users", type_="unique")
op.drop_column("users", "external_subject")
op.drop_column("users", "identity_provider")