188 lines
5.3 KiB
Markdown
188 lines
5.3 KiB
Markdown
# 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[]
|
|
-}
|
|
```
|
|
|
|
|