PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

TypeORM có điều kiện nullable?

Câu trả lời ngắn gọn là không, không phải ở cấp độ TypeORM. Tuy nhiên, bạn có thể đạt được điều này trong mã ứng dụng của mình bằng cách sử dụng mã ValidateIf trình trang trí từ 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[];

Ở những nơi khác trong ứng dụng của bạn:

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

Nếu thực thể này đang vượt qua một bộ điều khiển, bạn cũng có thể sử dụng ValidationPipe của NestJS để thực thi điều này tại bộ điều khiển hoặc ứng dụng cấp độ:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có công cụ trực quan hóa dữ liệu cho postgresql có khả năng hiển thị các quan hệ giữa các lược đồ không?

  2. PostGIS, Có thể tạo Đa giác từ một số Điểm

  3. Làm cách nào để thêm khóa chính tự động tăng dần vào bảng hiện có, trong PostgreSQL?

  4. Có an toàn để sắp xếp lại các cột trong schema.rb cho Rails 4 / Postgres không?

  5. Phát triển PostgreSQL cho Windows, Phần 1