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

Làm thế nào để đặt một trường cơ sở dữ liệu nullable thành NULL với kiểu chữ?

Sau một đêm nghỉ ngơi vui vẻ, tôi đã giải quyết được vấn đề của mình.

Typeorm đặt kiểu của các trường cơ sở dữ liệu dựa trên kiểu gõ mà bạn cung cấp các biến cho các thực thể của mình trong kiểu gõ. Typeorm chuyển mã bên dưới thành varchar trong cơ sở dữ liệu postgres của tôi vì tôi đã cấp cho nó một chuỗi như một kiểu trong bảng chữ.

@Column({
    unique: true,
    nullable: true,
})
resetPasswordToken!: string;

Đây cũng là vấn đề của tôi nằm ở đâu. Typeorm nhận cách nhập của một trường và cố gắng tạo trường cơ sở dữ liệu đó dựa trên cách nhập mà nó đọc. Mặc dù mã bên dưới là chính xác, nhưng về cơ bản thì chỉ định kiểu đóng gói cả hai loại trong một đối tượng duy nhất và đối tượng đó là thứ đang được đọc bởi Typeorm gây ra lỗi mà tôi gặp phải.

resetPasswordToken!: string | null;

Để khắc phục sự cố của mình, tôi phải xác định loại trường cơ sở dữ liệu một cách rõ ràng như sau:

@Column({
    type: 'text',
    unique: true,
    nullable: true,
})
resetPasswordToken!: string;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính Tổng tổng của một trường được chú thích trên một nhóm theo truy vấn trong Django ORM?

  2. Có thể bắt lỗi vi phạm khóa ngoại trong postgres không

  3. 'lỗi cú pháp ở cuối đầu vào' - trong khi cố gắng khởi chạy thủ tục được lưu trữ từ DB

  4. lỗi cài đặt python pip psycopg2

  5. PySpark sqlContext đọc Postgres 9.6 NullPointerException