# Migration `20201006185953-improved-schema-structure` This migration has been generated by Dm1tr1y147 at 10/6/2020, 11:59:53 PM. You can check out the [state of the schema](./schema.prisma) after the migration. ## Database Steps ```sql CREATE SEQUENCE "answer_id_seq"; ALTER TABLE "public"."Answer" ALTER COLUMN "id" SET DEFAULT nextval('answer_id_seq'); ALTER SEQUENCE "answer_id_seq" OWNED BY "public"."Answer"."id" CREATE SEQUENCE "choisesquestion_id_seq"; ALTER TABLE "public"."ChoisesQuestion" ALTER COLUMN "id" SET DEFAULT nextval('choisesquestion_id_seq'); ALTER SEQUENCE "choisesquestion_id_seq" OWNED BY "public"."ChoisesQuestion"."id" CREATE SEQUENCE "form_id_seq"; ALTER TABLE "public"."Form" ALTER COLUMN "id" SET DEFAULT nextval('form_id_seq'); ALTER SEQUENCE "form_id_seq" OWNED BY "public"."Form"."id" CREATE SEQUENCE "formsubmission_id_seq"; ALTER TABLE "public"."FormSubmission" ALTER COLUMN "id" SET DEFAULT nextval('formsubmission_id_seq'); ALTER SEQUENCE "formsubmission_id_seq" OWNED BY "public"."FormSubmission"."id" CREATE SEQUENCE "inputquestion_id_seq"; ALTER TABLE "public"."InputQuestion" ALTER COLUMN "id" SET DEFAULT nextval('inputquestion_id_seq'); ALTER SEQUENCE "inputquestion_id_seq" OWNED BY "public"."InputQuestion"."id" CREATE SEQUENCE "user_id_seq"; ALTER TABLE "public"."User" ALTER COLUMN "id" SET DEFAULT nextval('user_id_seq'); ALTER SEQUENCE "user_id_seq" OWNED BY "public"."User"."id" CREATE SEQUENCE "variant_id_seq"; ALTER TABLE "public"."Variant" ALTER COLUMN "id" SET DEFAULT nextval('variant_id_seq'); ALTER SEQUENCE "variant_id_seq" OWNED BY "public"."Variant"."id" ``` ## Changes ```diff diff --git schema.prisma schema.prisma migration 20201006125838-initial-migration..20201006185953-improved-schema-structure --- datamodel.dml +++ datamodel.dml @@ -2,125 +2,90 @@ // learn more about it in the docs: https://pris.ly/d/prisma-schema datasource db { provider = "postgres" - url = "***" + url = "***" } generator client { provider = "prisma-client-js" } -// model User { -// id Int @id @default(autoincrement()) -// name String -// email String? -// createdAt DateTime @default(now()) -// polls Poll[] -// } - -// model Poll { -// id Int @id @default(autoincrement()) -// User User? @relation(fields: [userId], references: [id]) -// userId Int? -// title String -// description String? -// slug String @unique @default(cuid()) -// questions Question[] -// createdAt DateTime @default(now()) -// } - -// model Question { -// id Int @id @default(autoincrement()) -// Poll Poll? @relation(fields: [pollId], references: [id]) -// pollId Int? -// title String -// variants Variant[] -// } - -// model Variant { -// id Int @id @default(autoincrement()) -// Question Question? @relation(fields: [questionId], references: [id]) -// questionId Int? -// text String -// count Int @default(0) -// } - model Form { title String choisesQuestions ChoisesQuestion[] inputQuestions InputQuestion[] submissions FormSubmission[] dateCreated DateTime @default(now()) + author User @relation(fields: [userId], references: [id]) - id Int @id + id Int @id @default(autoincrement()) userId Int - author User @relation(fields: [userId], references: [id]) } model ChoisesQuestion { title String variants Variant[] type ChoiseType number Int - id Int @id + id Int @id @default(autoincrement()) Form Form? @relation(fields: [formId], references: [id]) formId Int? } model Variant { text String - id Int @id + id Int @id @default(autoincrement()) ChoisesQuestion ChoisesQuestion? @relation(fields: [choisesQuestionId], references: [id]) choisesQuestionId Int? } model InputQuestion { title String number Int - id Int @id + id Int @id @default(autoincrement()) Form Form? @relation(fields: [formId], references: [id]) formId Int? } +enum ChoiseType { + SELECT + CHECK + CHOOSE +} + +model User { + name String + forms Form[] + + id Int @id @default(autoincrement()) + formsSubmissions FormSubmission[] +} + model FormSubmission { answers Answer[] date DateTime @default(now()) + user User @relation(fields: [userId], references: [id]) - - id Int @id - user User @relation(fields: [userId], references: [id]) + id Int @id @default(autoincrement()) + userId Int Form Form? @relation(fields: [formId], references: [id]) formId Int? - userId Int } model Answer { - id Int @id - userInput String - userChoise Int - type AnswerType + userInput String + userChoise Int + type AnswerType + + id Int @id @default(autoincrement()) FormSubmission FormSubmission? @relation(fields: [formSubmissionId], references: [id]) formSubmissionId Int? } -enum ChoiseType { - SELECT - CHECK - CHOOSE -} - enum AnswerType { INPUT CHOISE } - -model User { - id Int @id - name String - - forms Form[] - formsSubmissions FormSubmission[] -} ```