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

Come impostare un campo di database nullable su NULL con typeorm?

Dopo un buon riposo notturno sono riuscito a risolvere il mio problema.

Typeorm imposta il tipo dei campi del database in base alla digitazione che dai alle variabili per le tue entità in dattiloscritto. Typeorm esegue il cast del codice seguente in un varchar campo nel mio database postgres perché gli ho assegnato una stringa come dattiloscritto.

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

Questo è anche dove sta il mio problema. Typeorm prende la digitazione di un campo e prova a creare quel campo del database in base alla digitazione che legge. Sebbene il codice seguente sia corretto, dattiloscritto sostanzialmente incapsula entrambi i tipi in un singolo oggetto e quell'oggetto è ciò che viene letto da Typeorm che causa l'errore che ho ricevuto.

resetPasswordToken!: string | null;

Per risolvere il mio problema ho dovuto specificare il tipo di campo del database in modo esplicito in questo modo:

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