PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie setze ich ein Nullable-Datenbankfeld mit typeorm auf NULL?

Nach einer guten Nachtruhe konnte ich mein Problem lösen.

Typeorm legt den Typ der Datenbankfelder basierend auf der Typisierung fest, die Sie den Variablen für Ihre Entitäten in Typoskript geben. Typeorm wandelt den folgenden Code in ein varchar um Feld in meiner Postgres-Datenbank, weil ich ihm einen String gegeben habe als Typ in Maschinenschrift.

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

Genau hier liegt auch mein Problem. Typeorm übernimmt die Eingabe eines Felds und versucht, dieses Datenbankfeld basierend auf der gelesenen Eingabe zu erstellen. Während der folgende Code korrekt ist, kapselt Typoskript im Wesentlichen beide Typen in einem einzigen Objekt und dieses Objekt wird von Typeorm gelesen und verursacht den Fehler, den ich bekommen habe.

resetPasswordToken!: string | null;

Um mein Problem zu beheben, musste ich den Datenbankfeldtyp explizit wie folgt angeben:

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