sdy

create migration readme

1 +# Migration `20200424124259-init`
2 +
3 +This migration has been generated by sdy at 4/24/2020, 12:42:59 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 + `emailSecret` varchar(191) ,
15 + `id` int NOT NULL AUTO_INCREMENT,
16 + `name` varchar(191) NOT NULL ,
17 + `password` varchar(191) NOT NULL ,
18 + `phoneNumber` int ,
19 + `phoneSecret` varchar(191) ,
20 + PRIMARY KEY (`id`)
21 +)
22 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
23 +
24 +CREATE TABLE `chat_schema`.`Room` (
25 + `id` int NOT NULL AUTO_INCREMENT,
26 + PRIMARY KEY (`id`)
27 +)
28 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
29 +
30 +CREATE TABLE `chat_schema`.`Category` (
31 + `id` int NOT NULL AUTO_INCREMENT,
32 + `name` varchar(191) DEFAULT '' ,
33 + PRIMARY KEY (`id`)
34 +)
35 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
36 +
37 +CREATE TABLE `chat_schema`.`Message` (
38 + `id` int NOT NULL AUTO_INCREMENT,
39 + `senderId` int NOT NULL ,
40 + `text` varchar(191) DEFAULT '' ,
41 + PRIMARY KEY (`id`)
42 +)
43 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
44 +
45 +CREATE TABLE `chat_schema`.`_RoomToUser` (
46 + `A` int NOT NULL ,
47 + `B` int NOT NULL
48 +)
49 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
50 +
51 +CREATE TABLE `chat_schema`.`_CategoryToRoom` (
52 + `A` int NOT NULL ,
53 + `B` int NOT NULL
54 +)
55 +DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
56 +
57 +CREATE UNIQUE INDEX `User.email` ON `chat_schema`.`User`(`email`)
58 +
59 +CREATE UNIQUE INDEX `_RoomToUser_AB_unique` ON `chat_schema`.`_RoomToUser`(`A`,`B`)
60 +
61 +CREATE INDEX `_RoomToUser_B_index` ON `chat_schema`.`_RoomToUser`(`B`)
62 +
63 +CREATE UNIQUE INDEX `_CategoryToRoom_AB_unique` ON `chat_schema`.`_CategoryToRoom`(`A`,`B`)
64 +
65 +CREATE INDEX `_CategoryToRoom_B_index` ON `chat_schema`.`_CategoryToRoom`(`B`)
66 +
67 +ALTER TABLE `chat_schema`.`Message` ADD FOREIGN KEY (`senderId`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
68 +
69 +ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
70 +
71 +ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
72 +
73 +ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
74 +
75 +ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
76 +
77 +DROP TABLE `chat_schema`.`_categorytoroom`;
78 +
79 +DROP TABLE `chat_schema`.`_migration`;
80 +
81 +DROP TABLE `chat_schema`.`_roomtouser`;
82 +
83 +DROP TABLE `chat_schema`.`category`;
84 +
85 +DROP TABLE `chat_schema`.`message`;
86 +
87 +DROP TABLE `chat_schema`.`room`;
88 +
89 +DROP TABLE `chat_schema`.`test`;
90 +
91 +DROP TABLE `chat_schema`.`user`;
92 +```
93 +
94 +## Changes
95 +
96 +```diff
97 +diff --git schema.prisma schema.prisma
98 +migration 20200419160117-init..20200424124259-init
99 +--- datamodel.dml
100 ++++ datamodel.dml
101 +@@ -4,18 +4,20 @@
102 + }
103 + datasource db {
104 + provider = "mysql"
105 +- url = "***"
106 ++ url = env("DATABASE_URL")
107 + }
108 + model User {
109 + id Int @default(autoincrement()) @id
110 + avatarUrl String?
111 + email String @unique
112 + password String
113 + name String
114 +- loginSecret String?
115 ++ phoneNumber Int?
116 ++ emailSecret String?
117 ++ phoneSecret String?
118 + bio String?
119 + rooms Room[] @relation(references: [id])
120 + messages Message[]
121 + createdAt DateTime? @default(now())
122 +```
123 +
124 +