sdy

init prisma migration readme

1 +# Migration `20200419160117-init`
2 +
3 +This migration has been generated by sdy at 4/19/2020, 4:01:17 PM.
4 +You can check out the [state of the schema](./schema.prisma) after the migration.
5 +
6 +## Database Steps
7 +
8 +```sql
9 +CREATE TABLE `chat_schema`.`User` (
10 + `avatarUrl` varchar(191) ,
11 + `bio` varchar(191) ,
12 + `createdAt` datetime DEFAULT CURRENT_TIMESTAMP ,
13 + `email` varchar(191) NOT NULL ,
14 + `id` int NOT NULL AUTO_INCREMENT,
15 + `loginSecret` varchar(191) ,
16 + `name` varchar(191) NOT NULL ,
17 + `password` varchar(191) NOT NULL ,
18 + PRIMARY KEY (`id`)
19 +)
20 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
21 +
22 +CREATE TABLE `chat_schema`.`Room` (
23 + `id` int NOT NULL AUTO_INCREMENT,
24 + PRIMARY KEY (`id`)
25 +)
26 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
27 +
28 +CREATE TABLE `chat_schema`.`Category` (
29 + `id` int NOT NULL AUTO_INCREMENT,
30 + `name` varchar(191) DEFAULT '' ,
31 + PRIMARY KEY (`id`)
32 +)
33 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
34 +
35 +CREATE TABLE `chat_schema`.`Message` (
36 + `id` int NOT NULL AUTO_INCREMENT,
37 + `senderId` int NOT NULL ,
38 + `text` varchar(191) DEFAULT '' ,
39 + PRIMARY KEY (`id`)
40 +)
41 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
42 +
43 +CREATE TABLE `chat_schema`.`_RoomToUser` (
44 + `A` int NOT NULL ,
45 + `B` int NOT NULL
46 +)
47 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
48 +
49 +CREATE TABLE `chat_schema`.`_CategoryToRoom` (
50 + `A` int NOT NULL ,
51 + `B` int NOT NULL
52 +)
53 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
54 +
55 +CREATE UNIQUE INDEX `User.email` ON `chat_schema`.`User`(`email`)
56 +
57 +CREATE UNIQUE INDEX `_RoomToUser_AB_unique` ON `chat_schema`.`_RoomToUser`(`A`,`B`)
58 +
59 +CREATE INDEX `_RoomToUser_B_index` ON `chat_schema`.`_RoomToUser`(`B`)
60 +
61 +CREATE UNIQUE INDEX `_CategoryToRoom_AB_unique` ON `chat_schema`.`_CategoryToRoom`(`A`,`B`)
62 +
63 +CREATE INDEX `_CategoryToRoom_B_index` ON `chat_schema`.`_CategoryToRoom`(`B`)
64 +
65 +ALTER TABLE `chat_schema`.`Message` ADD FOREIGN KEY (`senderId`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
66 +
67 +ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
68 +
69 +ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
70 +
71 +ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
72 +
73 +ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
74 +
75 +DROP TABLE `chat_schema`.`_migration`;
76 +
77 +DROP TABLE `chat_schema`.`test`;
78 +```
79 +
80 +## Changes
81 +
82 +```diff
83 +diff --git schema.prisma schema.prisma
84 +migration ..20200419160117-init
85 +--- datamodel.dml
86 ++++ datamodel.dml
87 +@@ -1,0 +1,41 @@
88 ++generator client {
89 ++ provider = "prisma-client-js"
90 ++ binaryTargets = ["native", "debian-openssl-1.1.x"]
91 ++}
92 ++
93 ++datasource db {
94 ++ provider = "mysql"
95 ++ url = env("DATABASE_URL")
96 ++}
97 ++
98 ++model User {
99 ++ id Int @default(autoincrement()) @id
100 ++ avatarUrl String?
101 ++ email String @unique
102 ++ password String
103 ++ name String
104 ++ loginSecret String?
105 ++ bio String?
106 ++ rooms Room[] @relation(references: [id])
107 ++ messages Message[]
108 ++ createdAt DateTime? @default(now())
109 ++}
110 ++
111 ++model Room {
112 ++ id Int @default(autoincrement()) @id
113 ++ participants User[] @relation(references: [id])
114 ++ categories Category[] @relation(references: [id])
115 ++}
116 ++
117 ++model Category {
118 ++ id Int @default(autoincrement()) @id
119 ++ name String? @default("")
120 ++ rooms Room[] @relation(references: [id])
121 ++}
122 ++
123 ++model Message {
124 ++ id Int @default(autoincrement()) @id
125 ++ text String? @default("")
126 ++ sender User @relation(fields: [senderId], references: [id])
127 ++ senderId Int
128 ++}
129 +```
130 +
131 +