Files
threadcount-community/prisma/migrations/20260912040000_operator_recovery/migration.sql
T
ThreadCount 1bc2de655a ThreadCount Community edition
Uniform stock management for healthcare linen rooms. Licensed under the GNU AGPL v3.
2026-09-13 08:45:19 +10:00

16 lines
672 B
SQL

-- Single-use recovery codes for an operator's second factor. Hashed; shown once at enrolment.
-- Cascade is right here, unlike the trail: codes are a mechanism, not a record.
CREATE TABLE "OperatorRecoveryCode" (
"id" TEXT NOT NULL,
"operatorId" TEXT NOT NULL,
"codeHash" TEXT NOT NULL,
"usedAt" TIMESTAMP(3),
CONSTRAINT "OperatorRecoveryCode_pkey" PRIMARY KEY ("id")
);
CREATE INDEX "OperatorRecoveryCode_operatorId_idx" ON "OperatorRecoveryCode"("operatorId");
ALTER TABLE "OperatorRecoveryCode" ADD CONSTRAINT "OperatorRecoveryCode_operatorId_fkey"
FOREIGN KEY ("operatorId") REFERENCES "Operator"("id") ON DELETE CASCADE ON UPDATE CASCADE;