feat(tests): общие тесты с автором, в истории только результаты ученика (для всех ролей)
Made-with: Cursor
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
||||
-- Общие тесты в контексте пары: studentId = id назначенного ученика; authorId = кто создал.
|
||||
-- Результаты (TestResult) привязаны к ученику (studentId).
|
||||
|
||||
ALTER TABLE "Test" ADD COLUMN "authorId" INTEGER;
|
||||
|
||||
UPDATE "Test" SET "authorId" = "studentId";
|
||||
|
||||
UPDATE "Test" AS t
|
||||
SET "studentId" = ta."studentId"
|
||||
FROM "TutorAssignment" AS ta
|
||||
WHERE t."authorId" = ta."tutorId";
|
||||
|
||||
ALTER TABLE "Test" ALTER COLUMN "authorId" SET NOT NULL;
|
||||
|
||||
ALTER TABLE "Test" ADD CONSTRAINT "Test_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE "TestResult" ADD COLUMN "studentId" INTEGER;
|
||||
|
||||
UPDATE "TestResult" AS tr
|
||||
SET "studentId" = t."studentId"
|
||||
FROM "Test" AS t
|
||||
WHERE tr."testId" = t."id";
|
||||
|
||||
ALTER TABLE "TestResult" ALTER COLUMN "studentId" SET NOT NULL;
|
||||
|
||||
ALTER TABLE "TestResult" ADD CONSTRAINT "TestResult_studentId_fkey" FOREIGN KEY ("studentId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
Reference in New Issue
Block a user