Browse Source

feat(db): create migration to add operator field on user

Nicolas Meienberger 2 years ago
parent
commit
51c2dfa816

+ 1 - 1
package.json

@@ -3,7 +3,7 @@
   "version": "0.8.1",
   "version": "0.8.1",
   "description": "A homeserver for everyone",
   "description": "A homeserver for everyone",
   "scripts": {
   "scripts": {
-    "copy:migrations": "mkdir -p dist/migrations && cp -r ./src/server/migrations dist/migrations",
+    "copy:migrations": "mkdir -p dist/migrations && cp -r ./src/server/migrations dist",
     "prisma:pull": "prisma db pull",
     "prisma:pull": "prisma db pull",
     "test": "dotenv -e .env.test -- jest --colors",
     "test": "dotenv -e .env.test -- jest --colors",
     "test:client": "jest --colors --selectProjects client --",
     "test:client": "jest --colors --selectProjects client --",

+ 5 - 3
prisma/schema.prisma

@@ -23,9 +23,10 @@ model App {
 }
 }
 
 
 model Migrations {
 model Migrations {
-  id        Int    @id(map: "PK_8c82d7f526340ab734260ea46be") @default(autoincrement())
-  timestamp BigInt
-  name      String @db.VarChar
+  id          Int       @id
+  name        String    @unique @db.VarChar(100)
+  hash        String    @db.VarChar(40)
+  executed_at DateTime? @default(now()) @db.Timestamp(6)
 
 
   @@map("migrations")
   @@map("migrations")
 }
 }
@@ -46,6 +47,7 @@ model User {
   password  String   @db.VarChar
   password  String   @db.VarChar
   createdAt DateTime @default(now()) @db.Timestamp(6)
   createdAt DateTime @default(now()) @db.Timestamp(6)
   updatedAt DateTime @default(now()) @db.Timestamp(6)
   updatedAt DateTime @default(now()) @db.Timestamp(6)
+  operator  Boolean  @default(false)
 
 
   @@map("user")
   @@map("user")
 }
 }

+ 2 - 1
src/server/migrations/00002-add-app-version.sql

@@ -8,7 +8,8 @@ UPDATE
 SET
 SET
     "version" = '1'
     "version" = '1'
 WHERE
 WHERE
-    "version" IS NULL;
+    "version" IS NULL
+    OR "version" = '0';
 
 
 -- Set version field to not null
 -- Set version field to not null
 ALTER TABLE "app"
 ALTER TABLE "app"

+ 18 - 0
src/server/migrations/00005-add-user-operator.sql

@@ -0,0 +1,18 @@
+-- Create operator field if it doesn't exist
+ALTER TABLE "user"
+    ADD COLUMN IF NOT EXISTS "operator" boolean DEFAULT NULL;
+
+UPDATE
+    "user"
+SET
+    "operator" = TRUE
+WHERE
+    "operator" IS NULL;
+
+-- Set operator column to default false
+ALTER TABLE "user"
+    ALTER COLUMN "operator" SET DEFAULT FALSE;
+
+-- Set operator column to not null constraint
+ALTER TABLE "user"
+    ALTER COLUMN "operator" SET NOT NULL;