lang-database 10.0.0 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,229 @@
1
+ -- CreateEnum
2
+ CREATE TYPE "AchievementType" AS ENUM ('Today15Min', 'Weekly15Min', 'Monthly15Min', 'CardDone', 'DeckDone', 'DeckAlreadyKnown', 'FiveCardsDone');
3
+
4
+ -- CreateEnum
5
+ CREATE TYPE "Answer" AS ENUM ('KNOWN', 'ALMOST_KNOWN', 'HARD', 'UNKNOWN');
6
+
7
+ -- CreateEnum
8
+ CREATE TYPE "PurchaseStatus" AS ENUM ('PENDING', 'APPROVED');
9
+
10
+ -- CreateTable
11
+ CREATE TABLE "cards" (
12
+ "id" STRING NOT NULL,
13
+ "packId" STRING NOT NULL,
14
+ "front" STRING NOT NULL,
15
+ "back" STRING NOT NULL,
16
+ "lastUpdate" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
17
+ "speechGenerated" BOOL NOT NULL DEFAULT false,
18
+ "info" STRING NOT NULL DEFAULT '',
19
+
20
+ CONSTRAINT "cards_pkey" PRIMARY KEY ("id")
21
+ );
22
+
23
+ -- CreateTable
24
+ CREATE TABLE "userCards" (
25
+ "userId" STRING NOT NULL,
26
+ "cardId" STRING NOT NULL,
27
+ "currentInterval" INT4,
28
+ "dueDate" TIMESTAMP(3),
29
+ "done" BOOL NOT NULL DEFAULT false,
30
+ "reverse" BOOL NOT NULL DEFAULT false,
31
+
32
+ CONSTRAINT "userCards_pkey" PRIMARY KEY ("userId","cardId","reverse")
33
+ );
34
+
35
+ -- CreateTable
36
+ CREATE TABLE "categories" (
37
+ "id" STRING NOT NULL,
38
+ "name" STRING NOT NULL,
39
+
40
+ CONSTRAINT "categories_pkey" PRIMARY KEY ("id")
41
+ );
42
+
43
+ -- CreateTable
44
+ CREATE TABLE "packs" (
45
+ "id" STRING NOT NULL,
46
+ "teacherId" STRING NOT NULL,
47
+ "name" STRING NOT NULL DEFAULT '',
48
+ "shortDescription" STRING NOT NULL DEFAULT '',
49
+ "longDescription" STRING NOT NULL DEFAULT '',
50
+ "categoryId" STRING,
51
+ "published" BOOL NOT NULL DEFAULT false,
52
+ "currentPrice" DECIMAL(65,30) NOT NULL,
53
+ "public" BOOL NOT NULL DEFAULT false,
54
+
55
+ CONSTRAINT "packs_pkey" PRIMARY KEY ("id")
56
+ );
57
+
58
+ -- CreateTable
59
+ CREATE TABLE "users" (
60
+ "id" STRING NOT NULL,
61
+ "email" STRING NOT NULL,
62
+ "name" STRING NOT NULL,
63
+ "password" STRING,
64
+ "teamId" STRING,
65
+ "passwordActivated" BOOL NOT NULL DEFAULT false,
66
+ "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
67
+ "subscriptionExpire" TIMESTAMP(3),
68
+
69
+ CONSTRAINT "users_pkey" PRIMARY KEY ("id")
70
+ );
71
+
72
+ -- CreateTable
73
+ CREATE TABLE "achievements" (
74
+ "id" STRING NOT NULL,
75
+ "userId" STRING NOT NULL,
76
+ "badge" BOOL NOT NULL,
77
+ "type" "AchievementType" NOT NULL,
78
+ "info" STRING NOT NULL,
79
+ "timestamp" TIMESTAMP(3) NOT NULL,
80
+ "dismissed" BOOL NOT NULL DEFAULT false,
81
+
82
+ CONSTRAINT "achievements_pkey" PRIMARY KEY ("id")
83
+ );
84
+
85
+ -- CreateTable
86
+ CREATE TABLE "teams" (
87
+ "id" STRING NOT NULL,
88
+ "name" STRING NOT NULL,
89
+ "emailPattern" STRING NOT NULL DEFAULT '',
90
+ "userCount" INT4 NOT NULL,
91
+ "subscriptionExpire" TIMESTAMP(3),
92
+
93
+ CONSTRAINT "teams_pkey" PRIMARY KEY ("id")
94
+ );
95
+
96
+ -- CreateTable
97
+ CREATE TABLE "teachers" (
98
+ "id" STRING NOT NULL,
99
+ "email" STRING NOT NULL,
100
+ "name" STRING NOT NULL,
101
+ "password" STRING NOT NULL,
102
+
103
+ CONSTRAINT "teachers_pkey" PRIMARY KEY ("id")
104
+ );
105
+
106
+ -- CreateTable
107
+ CREATE TABLE "googleUsers" (
108
+ "id" STRING NOT NULL,
109
+ "userId" STRING NOT NULL,
110
+
111
+ CONSTRAINT "googleUsers_pkey" PRIMARY KEY ("id")
112
+ );
113
+
114
+ -- CreateTable
115
+ CREATE TABLE "userAnswers" (
116
+ "id" STRING NOT NULL,
117
+ "userId" STRING NOT NULL,
118
+ "cardId" STRING NOT NULL,
119
+ "timestamp" TIMESTAMP(3) NOT NULL,
120
+ "answer" "Answer" NOT NULL,
121
+ "reverse" BOOL NOT NULL DEFAULT false,
122
+
123
+ CONSTRAINT "userAnswers_pkey" PRIMARY KEY ("id")
124
+ );
125
+
126
+ -- CreateTable
127
+ CREATE TABLE "purchases" (
128
+ "id" STRING NOT NULL,
129
+ "userId" STRING NOT NULL,
130
+ "packId" STRING NOT NULL,
131
+ "currency" STRING NOT NULL,
132
+ "amount" DECIMAL(65,30) NOT NULL,
133
+ "orderDate" TIMESTAMP(3) NOT NULL,
134
+ "paymentDate" TIMESTAMP(3),
135
+ "status" "PurchaseStatus" NOT NULL,
136
+
137
+ CONSTRAINT "purchases_pkey" PRIMARY KEY ("id")
138
+ );
139
+
140
+ -- CreateTable
141
+ CREATE TABLE "_PackToTeam" (
142
+ "A" STRING NOT NULL,
143
+ "B" STRING NOT NULL
144
+ );
145
+
146
+ -- CreateTable
147
+ CREATE TABLE "_PackToUser" (
148
+ "A" STRING NOT NULL,
149
+ "B" STRING NOT NULL
150
+ );
151
+
152
+ -- CreateIndex
153
+ CREATE UNIQUE INDEX "cards_packId_front_key" ON "cards"("packId", "front");
154
+
155
+ -- CreateIndex
156
+ CREATE UNIQUE INDEX "cards_packId_back_key" ON "cards"("packId", "back");
157
+
158
+ -- CreateIndex
159
+ CREATE UNIQUE INDEX "userCards_userId_cardId_key" ON "userCards"("userId", "cardId");
160
+
161
+ -- CreateIndex
162
+ CREATE UNIQUE INDEX "IX_Users_Email" ON "users"("email");
163
+
164
+ -- CreateIndex
165
+ CREATE UNIQUE INDEX "IX_teachers_Email" ON "teachers"("email");
166
+
167
+ -- CreateIndex
168
+ CREATE UNIQUE INDEX "googleUsers_userId_key" ON "googleUsers"("userId");
169
+
170
+ -- CreateIndex
171
+ CREATE UNIQUE INDEX "_PackToTeam_AB_unique" ON "_PackToTeam"("A", "B");
172
+
173
+ -- CreateIndex
174
+ CREATE INDEX "_PackToTeam_B_index" ON "_PackToTeam"("B");
175
+
176
+ -- CreateIndex
177
+ CREATE UNIQUE INDEX "_PackToUser_AB_unique" ON "_PackToUser"("A", "B");
178
+
179
+ -- CreateIndex
180
+ CREATE INDEX "_PackToUser_B_index" ON "_PackToUser"("B");
181
+
182
+ -- AddForeignKey
183
+ ALTER TABLE "cards" ADD CONSTRAINT "cards_packId_fkey" FOREIGN KEY ("packId") REFERENCES "packs"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
184
+
185
+ -- AddForeignKey
186
+ ALTER TABLE "userCards" ADD CONSTRAINT "userCards_cardId_fkey" FOREIGN KEY ("cardId") REFERENCES "cards"("id") ON DELETE CASCADE ON UPDATE CASCADE;
187
+
188
+ -- AddForeignKey
189
+ ALTER TABLE "userCards" ADD CONSTRAINT "userCards_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
190
+
191
+ -- AddForeignKey
192
+ ALTER TABLE "packs" ADD CONSTRAINT "packs_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "categories"("id") ON DELETE SET NULL ON UPDATE CASCADE;
193
+
194
+ -- AddForeignKey
195
+ ALTER TABLE "packs" ADD CONSTRAINT "packs_teacherId_fkey" FOREIGN KEY ("teacherId") REFERENCES "teachers"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
196
+
197
+ -- AddForeignKey
198
+ ALTER TABLE "users" ADD CONSTRAINT "users_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "teams"("id") ON DELETE SET NULL ON UPDATE CASCADE;
199
+
200
+ -- AddForeignKey
201
+ ALTER TABLE "achievements" ADD CONSTRAINT "achievements_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
202
+
203
+ -- AddForeignKey
204
+ ALTER TABLE "googleUsers" ADD CONSTRAINT "googleUsers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
205
+
206
+ -- AddForeignKey
207
+ ALTER TABLE "userAnswers" ADD CONSTRAINT "userAnswers_cardId_fkey" FOREIGN KEY ("cardId") REFERENCES "cards"("id") ON DELETE CASCADE ON UPDATE CASCADE;
208
+
209
+ -- AddForeignKey
210
+ ALTER TABLE "userAnswers" ADD CONSTRAINT "userAnswers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
211
+
212
+ -- AddForeignKey
213
+ ALTER TABLE "purchases" ADD CONSTRAINT "purchases_packId_fkey" FOREIGN KEY ("packId") REFERENCES "packs"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
214
+
215
+ -- AddForeignKey
216
+ ALTER TABLE "purchases" ADD CONSTRAINT "purchases_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
217
+
218
+ -- AddForeignKey
219
+ ALTER TABLE "_PackToTeam" ADD CONSTRAINT "_PackToTeam_A_fkey" FOREIGN KEY ("A") REFERENCES "packs"("id") ON DELETE CASCADE ON UPDATE CASCADE;
220
+
221
+ -- AddForeignKey
222
+ ALTER TABLE "_PackToTeam" ADD CONSTRAINT "_PackToTeam_B_fkey" FOREIGN KEY ("B") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE CASCADE;
223
+
224
+ -- AddForeignKey
225
+ ALTER TABLE "_PackToUser" ADD CONSTRAINT "_PackToUser_A_fkey" FOREIGN KEY ("A") REFERENCES "packs"("id") ON DELETE CASCADE ON UPDATE CASCADE;
226
+
227
+ -- AddForeignKey
228
+ ALTER TABLE "_PackToUser" ADD CONSTRAINT "_PackToUser_B_fkey" FOREIGN KEY ("B") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
229
+
@@ -0,0 +1,8 @@
1
+ -- DropIndex
2
+ DROP INDEX "userCards_userId_cardId_key" CASCADE;
3
+
4
+ -- AlterTable
5
+ ALTER TABLE "categories" ADD COLUMN "order" INT4;
6
+
7
+ -- AlterTable
8
+ ALTER TABLE "userCards" ALTER COLUMN "reverse" DROP DEFAULT;
@@ -1,3 +1,3 @@
1
1
  # Please do not edit this file manually
2
2
  # It should be added in your version-control system (i.e. Git)
3
- provider = "postgresql"
3
+ provider = "cockroachdb"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lang-database",
3
- "version": "10.0.0",
3
+ "version": "10.0.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -0,0 +1,184 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "cockroachdb"
7
+ url = env("DATABASE_URL")
8
+ shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
9
+ }
10
+
11
+ model Card {
12
+ id String @id @default(cuid())
13
+ packId String
14
+ front String
15
+ back String
16
+ lastUpdate DateTime @default(now())
17
+ speechGenerated Boolean @default(false)
18
+ info String @default("")
19
+ pack Pack @relation(fields: [packId], references: [id])
20
+ answers UserAnswer[]
21
+ userCards UserCard[]
22
+
23
+ @@unique([packId, front])
24
+ @@unique([packId, back])
25
+ @@map("cards")
26
+ }
27
+
28
+ model UserCard {
29
+ userId String
30
+ cardId String
31
+ currentInterval Int?
32
+ dueDate DateTime?
33
+ done Boolean @default(false)
34
+ reverse Boolean @default(false)
35
+ card Card @relation(fields: [cardId], references: [id], onDelete: Cascade)
36
+ user User @relation(fields: [userId], references: [id])
37
+
38
+ @@id([userId, cardId, reverse])
39
+ @@unique([userId, cardId])
40
+ @@map("userCards")
41
+ }
42
+
43
+ model Category {
44
+ id String @id @default(cuid())
45
+ name String
46
+ packs Pack[]
47
+
48
+ @@map("categories")
49
+ }
50
+
51
+ model Pack {
52
+ id String @id @default(cuid())
53
+ teacherId String
54
+ name String @default("")
55
+ shortDescription String @default("")
56
+ longDescription String @default("")
57
+ categoryId String?
58
+ published Boolean @default(false)
59
+ currentPrice Decimal
60
+ public Boolean @default(false)
61
+ cards Card[]
62
+ category Category? @relation(fields: [categoryId], references: [id])
63
+ teacher Teacher @relation(fields: [teacherId], references: [id])
64
+ purchases Purchase[]
65
+ teams Team[] @relation("PackToTeam")
66
+ users User[] @relation("PackToUser")
67
+
68
+ @@map("packs")
69
+ }
70
+
71
+ model User {
72
+ id String @id @default(cuid())
73
+ email String @unique(map: "IX_Users_Email")
74
+ name String
75
+ password String?
76
+ teamId String?
77
+ passwordActivated Boolean @default(false)
78
+ timestamp DateTime @default(now())
79
+ subscriptionExpire DateTime?
80
+ achievements Achievement[]
81
+ googleUser GoogleUser?
82
+ purchases Purchase[]
83
+ userAnswers UserAnswer[]
84
+ userCards UserCard[]
85
+ team Team? @relation(fields: [teamId], references: [id])
86
+ packs Pack[] @relation("PackToUser")
87
+
88
+ @@map("users")
89
+ }
90
+
91
+ model Achievement {
92
+ id String @id @default(cuid())
93
+ userId String
94
+ badge Boolean
95
+ type AchievementType
96
+ info String
97
+ timestamp DateTime
98
+ dismissed Boolean @default(false)
99
+ user User @relation(fields: [userId], references: [id])
100
+
101
+ @@map("achievements")
102
+ }
103
+
104
+ model Team {
105
+ id String @id @default(cuid())
106
+ name String
107
+ emailPattern String @default("")
108
+ userCount Int
109
+ subscriptionExpire DateTime?
110
+ members User[]
111
+ additionalDecks Pack[] @relation("PackToTeam")
112
+
113
+ @@map("teams")
114
+ }
115
+
116
+ model Teacher {
117
+ id String @id @default(cuid())
118
+ email String @unique(map: "IX_teachers_Email")
119
+ name String
120
+ password String
121
+ packs Pack[]
122
+
123
+ @@map("teachers")
124
+ }
125
+
126
+ model GoogleUser {
127
+ id String @id
128
+ userId String @unique
129
+ user User @relation(fields: [userId], references: [id])
130
+
131
+ @@map("googleUsers")
132
+ }
133
+
134
+ model UserAnswer {
135
+ id String @id @default(cuid())
136
+ userId String
137
+ cardId String
138
+ timestamp DateTime
139
+ answer Answer
140
+ reverse Boolean @default(false)
141
+ card Card @relation(fields: [cardId], references: [id], onDelete: Cascade)
142
+ user User @relation(fields: [userId], references: [id])
143
+
144
+ @@map("userAnswers")
145
+ }
146
+
147
+ model Purchase {
148
+ id String @id @default(cuid())
149
+ userId String
150
+ packId String
151
+ currency String
152
+ amount Decimal
153
+ orderDate DateTime
154
+ paymentDate DateTime?
155
+ status PurchaseStatus
156
+ pack Pack @relation(fields: [packId], references: [id])
157
+ user User @relation(fields: [userId], references: [id])
158
+
159
+ @@map("purchases")
160
+ }
161
+
162
+ enum AchievementType {
163
+ Today15Min
164
+ Weekly15Min
165
+ Monthly15Min
166
+ CardDone
167
+ DeckDone
168
+ DeckAlreadyKnown
169
+ FiveCardsDone
170
+
171
+ @@map("AchievementType")
172
+ }
173
+
174
+ enum Answer {
175
+ KNOWN
176
+ ALMOST_KNOWN
177
+ HARD
178
+ UNKNOWN
179
+ }
180
+
181
+ enum PurchaseStatus {
182
+ PENDING
183
+ APPROVED
184
+ }
@@ -1,160 +0,0 @@
1
- -- CreateEnum
2
- CREATE TYPE "PurchaseStatus" AS ENUM ('PENDING', 'APPROVED');
3
-
4
- -- CreateTable
5
- CREATE TABLE "cards" (
6
- "id" TEXT NOT NULL,
7
- "packId" TEXT NOT NULL,
8
- "front" TEXT NOT NULL,
9
- "back" TEXT NOT NULL,
10
-
11
- CONSTRAINT "cards_pkey" PRIMARY KEY ("id")
12
- );
13
-
14
- -- CreateTable
15
- CREATE TABLE "userCards" (
16
- "userId" TEXT NOT NULL,
17
- "cardId" TEXT NOT NULL,
18
- "currentInterval" INTEGER,
19
- "dueDate" TIMESTAMP(3),
20
- "done" BOOLEAN NOT NULL,
21
-
22
- CONSTRAINT "userCards_pkey" PRIMARY KEY ("userId","cardId")
23
- );
24
-
25
- -- CreateTable
26
- CREATE TABLE "categories" (
27
- "id" TEXT NOT NULL,
28
- "name" TEXT NOT NULL,
29
-
30
- CONSTRAINT "categories_pkey" PRIMARY KEY ("id")
31
- );
32
-
33
- -- CreateTable
34
- CREATE TABLE "packs" (
35
- "id" TEXT NOT NULL,
36
- "teacherId" TEXT NOT NULL,
37
- "name" TEXT NOT NULL DEFAULT '',
38
- "shortDescription" TEXT NOT NULL DEFAULT '',
39
- "longDescription" TEXT NOT NULL DEFAULT '',
40
- "categoryId" TEXT,
41
- "published" BOOLEAN NOT NULL DEFAULT false,
42
- "currentPrice" DECIMAL(65,30) NOT NULL,
43
-
44
- CONSTRAINT "packs_pkey" PRIMARY KEY ("id")
45
- );
46
-
47
- -- CreateTable
48
- CREATE TABLE "users" (
49
- "id" TEXT NOT NULL,
50
- "email" TEXT NOT NULL,
51
- "name" TEXT NOT NULL,
52
-
53
- CONSTRAINT "users_pkey" PRIMARY KEY ("id")
54
- );
55
-
56
- -- CreateTable
57
- CREATE TABLE "teachers" (
58
- "id" TEXT NOT NULL,
59
- "email" TEXT NOT NULL,
60
- "name" TEXT NOT NULL,
61
- "password" TEXT NOT NULL,
62
-
63
- CONSTRAINT "teachers_pkey" PRIMARY KEY ("id")
64
- );
65
-
66
- -- CreateTable
67
- CREATE TABLE "googleUsers" (
68
- "id" TEXT NOT NULL,
69
- "userId" TEXT NOT NULL,
70
-
71
- CONSTRAINT "googleUsers_pkey" PRIMARY KEY ("id")
72
- );
73
-
74
- -- CreateTable
75
- CREATE TABLE "answers" (
76
- "id" TEXT NOT NULL,
77
- "userId" TEXT NOT NULL,
78
- "cardId" TEXT NOT NULL,
79
- "status" TEXT NOT NULL,
80
- "timestamp" TEXT NOT NULL,
81
-
82
- CONSTRAINT "answers_pkey" PRIMARY KEY ("id")
83
- );
84
-
85
- -- CreateTable
86
- CREATE TABLE "purchases" (
87
- "id" TEXT NOT NULL,
88
- "userId" TEXT NOT NULL,
89
- "packId" TEXT NOT NULL,
90
- "currency" TEXT NOT NULL,
91
- "amount" DECIMAL(65,30) NOT NULL,
92
- "orderDate" TIMESTAMP(3) NOT NULL,
93
- "paymentDate" TIMESTAMP(3),
94
- "status" "PurchaseStatus" NOT NULL,
95
-
96
- CONSTRAINT "purchases_pkey" PRIMARY KEY ("id")
97
- );
98
-
99
- -- CreateTable
100
- CREATE TABLE "_PackToUser" (
101
- "A" TEXT NOT NULL,
102
- "B" TEXT NOT NULL
103
- );
104
-
105
- -- CreateIndex
106
- CREATE UNIQUE INDEX "cards_packId_front_key" ON "cards"("packId", "front");
107
-
108
- -- CreateIndex
109
- CREATE UNIQUE INDEX "cards_packId_back_key" ON "cards"("packId", "back");
110
-
111
- -- CreateIndex
112
- CREATE UNIQUE INDEX "IX_Users_Email" ON "users"("email");
113
-
114
- -- CreateIndex
115
- CREATE UNIQUE INDEX "IX_teachers_Email" ON "teachers"("email");
116
-
117
- -- CreateIndex
118
- CREATE UNIQUE INDEX "googleUsers_userId_key" ON "googleUsers"("userId");
119
-
120
- -- CreateIndex
121
- CREATE UNIQUE INDEX "_PackToUser_AB_unique" ON "_PackToUser"("A", "B");
122
-
123
- -- CreateIndex
124
- CREATE INDEX "_PackToUser_B_index" ON "_PackToUser"("B");
125
-
126
- -- AddForeignKey
127
- ALTER TABLE "cards" ADD CONSTRAINT "cards_packId_fkey" FOREIGN KEY ("packId") REFERENCES "packs"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
128
-
129
- -- AddForeignKey
130
- ALTER TABLE "userCards" ADD CONSTRAINT "userCards_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
131
-
132
- -- AddForeignKey
133
- ALTER TABLE "userCards" ADD CONSTRAINT "userCards_cardId_fkey" FOREIGN KEY ("cardId") REFERENCES "cards"("id") ON DELETE CASCADE ON UPDATE CASCADE;
134
-
135
- -- AddForeignKey
136
- ALTER TABLE "packs" ADD CONSTRAINT "packs_teacherId_fkey" FOREIGN KEY ("teacherId") REFERENCES "teachers"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
137
-
138
- -- AddForeignKey
139
- ALTER TABLE "packs" ADD CONSTRAINT "packs_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "categories"("id") ON DELETE SET NULL ON UPDATE CASCADE;
140
-
141
- -- AddForeignKey
142
- ALTER TABLE "googleUsers" ADD CONSTRAINT "googleUsers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
143
-
144
- -- AddForeignKey
145
- ALTER TABLE "answers" ADD CONSTRAINT "answers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
146
-
147
- -- AddForeignKey
148
- ALTER TABLE "answers" ADD CONSTRAINT "answers_cardId_fkey" FOREIGN KEY ("cardId") REFERENCES "cards"("id") ON DELETE CASCADE ON UPDATE CASCADE;
149
-
150
- -- AddForeignKey
151
- ALTER TABLE "purchases" ADD CONSTRAINT "purchases_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
152
-
153
- -- AddForeignKey
154
- ALTER TABLE "purchases" ADD CONSTRAINT "purchases_packId_fkey" FOREIGN KEY ("packId") REFERENCES "packs"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
155
-
156
- -- AddForeignKey
157
- ALTER TABLE "_PackToUser" ADD CONSTRAINT "_PackToUser_A_fkey" FOREIGN KEY ("A") REFERENCES "packs"("id") ON DELETE CASCADE ON UPDATE CASCADE;
158
-
159
- -- AddForeignKey
160
- ALTER TABLE "_PackToUser" ADD CONSTRAINT "_PackToUser_B_fkey" FOREIGN KEY ("B") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
@@ -1,36 +0,0 @@
1
- /*
2
- Warnings:
3
-
4
- - Added the required column `public` to the `packs` table without a default value. This is not possible if the table is not empty.
5
-
6
- */
7
- -- AlterTable
8
- ALTER TABLE "packs" ADD COLUMN "public" BOOLEAN NOT NULL;
9
-
10
- -- CreateTable
11
- CREATE TABLE "teams" (
12
- "id" TEXT NOT NULL,
13
- "name" TEXT NOT NULL,
14
- "userCount" INTEGER NOT NULL,
15
- "subscriptionExpire" TIMESTAMP(3),
16
-
17
- CONSTRAINT "teams_pkey" PRIMARY KEY ("id")
18
- );
19
-
20
- -- CreateTable
21
- CREATE TABLE "_PackToTeam" (
22
- "A" TEXT NOT NULL,
23
- "B" TEXT NOT NULL
24
- );
25
-
26
- -- CreateIndex
27
- CREATE UNIQUE INDEX "_PackToTeam_AB_unique" ON "_PackToTeam"("A", "B");
28
-
29
- -- CreateIndex
30
- CREATE INDEX "_PackToTeam_B_index" ON "_PackToTeam"("B");
31
-
32
- -- AddForeignKey
33
- ALTER TABLE "_PackToTeam" ADD CONSTRAINT "_PackToTeam_A_fkey" FOREIGN KEY ("A") REFERENCES "packs"("id") ON DELETE CASCADE ON UPDATE CASCADE;
34
-
35
- -- AddForeignKey
36
- ALTER TABLE "_PackToTeam" ADD CONSTRAINT "_PackToTeam_B_fkey" FOREIGN KEY ("B") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE CASCADE;