Sfoglia il codice sorgente

fix(server): unique email database constraint (#1082)

Jason Rasmussen 2 anni fa
parent
commit
242165485d

+ 1 - 1
server/libs/database/src/entities/user.entity.ts

@@ -15,7 +15,7 @@ export class UserEntity {
   @Column({ default: false })
   isAdmin!: boolean;
 
-  @Column()
+  @Column({ unique: true })
   email!: string;
 
   @Column({ default: '', select: false })

+ 14 - 0
server/libs/database/src/migrations/1670633210032-AddUserEmailUniqueConstraint.ts

@@ -0,0 +1,14 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class AddUserEmailUniqueConstraint1670633210032 implements MigrationInterface {
+    name = 'AddUserEmailUniqueConstraint1670633210032'
+
+    public async up(queryRunner: QueryRunner): Promise<void> {
+        await queryRunner.query(`ALTER TABLE "users" ADD CONSTRAINT "UQ_97672ac88f789774dd47f7c8be3" UNIQUE ("email")`);
+    }
+
+    public async down(queryRunner: QueryRunner): Promise<void> {
+        await queryRunner.query(`ALTER TABLE "users" DROP CONSTRAINT "UQ_97672ac88f789774dd47f7c8be3"`);
+    }
+
+}