Selaa lähdekoodia

Add DB-level uniqueness constraints to existing entities

Michael Bromley 7 vuotta sitten
vanhempi
sitoutus
d3fe410eb4

+ 2 - 1
modules/core/entity/administrator/administrator.entity.ts

@@ -17,7 +17,8 @@ export class Administrator {
 
     @Column() lastName: string;
 
-    @Column() emailAddress: string;
+    @Column({ unique: true })
+    emailAddress: string;
 
     @OneToOne(type => User)
     @JoinColumn()

+ 9 - 1
modules/core/entity/customer/customer.entity.ts

@@ -8,11 +8,18 @@ import {
     PrimaryGeneratedColumn,
     UpdateDateColumn,
 } from 'typeorm';
+import { DeepPartial } from '../../common/common-types';
 import { Address } from '../address/address.entity';
 import { User } from '../user/user.entity';
 
 @Entity('customer')
 export class Customer {
+    constructor(input?: DeepPartial<Customer>) {
+        if (input) {
+            Object.assign(this, input);
+        }
+    }
+
     @PrimaryGeneratedColumn() id: number;
 
     @Column() firstName: string;
@@ -21,7 +28,8 @@ export class Customer {
 
     @Column() phoneNumber: string;
 
-    @Column() emailAddress: string;
+    @Column({ unique: true })
+    emailAddress: string;
 
     @OneToMany(type => Address, address => address.customer)
     addresses: Address[];

+ 2 - 1
modules/core/entity/product-option-group/product-option-group.entity.ts

@@ -9,7 +9,8 @@ export class ProductOptionGroup implements Translatable {
 
     name: LocaleString;
 
-    @Column() code: string;
+    @Column({ unique: true })
+    code: string;
 
     @CreateDateColumn() createdAt: string;
 

+ 2 - 1
modules/core/entity/user/user.entity.ts

@@ -6,7 +6,8 @@ import { Address } from '../address/address.entity';
 export class User {
     @PrimaryGeneratedColumn() id: number;
 
-    @Column() identifier: string;
+    @Column({ unique: true })
+    identifier: string;
 
     @Column() passwordHash: string;