sql >> Database teknologi >  >> RDS >> PostgreSQL

TypeORM betinget nullbar?

Det korte svar er nej, ikke på TypeORM-niveau. Du kan dog opnå dette i din applikationskode ved at bruge ValidateIf dekorator fra class-validator :

@Column({ nullable: true })
@Exclude()
@IsNotEmpty()
@ValidateIf(u => !u.oAuthLogins || u.oAuthLogins.length === 0)
public password?: string;

@JoinColumn()
@IsArray()
@ValidateIf(u => !u.password)
@OneToMany(() => OAuthLogin, (provider: OAuthLogin) => provider.user, {
cascade: true,
})
public oAuthLogins?: OAuthLogin[];

Et andet sted i din ansøgning:

import { validate } from 'class-validator';
...
validate(user)

Hvis denne enhed krydser en controller, kan du også bruge NestJS's ValidationPipe at håndhæve dette hos controlleren eller applikationen niveau:

// main.ts
app.useGlobalPipes(new ValidationPipe({ whitelist: true }));



  1. Find aktuelle jobåbninger til Oracle Forms &Reports

  2. Automatisk stigning på delvis primær nøgle med Entity Framework Core

  3. Fjern efterfølgende tom plads i et feltindhold

  4. Login script udføres ikke - Bluehost