This repository has been archived on 2026-01-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
apollo-graphql/server/prisma/migrations/20201125185150-init/README.md
2021-01-01 10:14:50 +01:00

88 lines
2.1 KiB
Markdown

# Migration `20201125185150-init`
This migration has been generated by Ryan Chenkie at 11/25/2020, 1:51:50 PM.
You can check out the [state of the schema](./schema.prisma) after the migration.
## Database Steps
```sql
CREATE TABLE "Link" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"description" TEXT NOT NULL,
"url" TEXT NOT NULL,
"postedById" INTEGER NOT NULL,
FOREIGN KEY ("postedById") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE
)
CREATE TABLE "User" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" TEXT NOT NULL,
"email" TEXT NOT NULL,
"password" TEXT NOT NULL
)
CREATE TABLE "Vote" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"linkId" INTEGER NOT NULL,
"userId" INTEGER NOT NULL,
FOREIGN KEY ("linkId") REFERENCES "Link"("id") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE
)
CREATE UNIQUE INDEX "User.email_unique" ON "User"("email")
CREATE UNIQUE INDEX "Vote.linkId_userId_unique" ON "Vote"("linkId", "userId")
```
## Changes
```diff
diff --git schema.prisma schema.prisma
migration ..20201125185150-init
--- datamodel.dml
+++ datamodel.dml
@@ -1,0 +1,37 @@
+datasource db {
+ provider = "sqlite"
+ url = "***"
+}
+
+generator client {
+ provider = "prisma-client-js"
+}
+
+model Link {
+ id Int @id @default(autoincrement())
+ createdAt DateTime @default(now())
+ description String
+ url String
+ postedBy User @relation(fields: [postedById], references: [id])
+ postedById Int
+ votes Vote[]
+}
+
+model User {
+ id Int @id @default(autoincrement())
+ name String
+ email String @unique
+ password String
+ links Link[]
+ votes Vote[]
+}
+
+model Vote {
+ id Int @id @default(autoincrement())
+ link Link @relation(fields: [linkId], references: [id])
+ linkId Int
+ user User @relation(fields: [userId], references: [id])
+ userId Int
+
+ @@unique([linkId, userId])
+}
```