Po dobrze przespanej nocy udało mi się rozwiązać mój problem.
Typeorm ustawia typ pól bazy danych na podstawie typowania, które podajesz zmiennym dla twoich jednostek w maszynopisie. Typeorm rzutuje poniższy kod na varchar w mojej bazie danych postgres, ponieważ nadałem mu ciąg jako typ w maszynopisie.
@Column({
unique: true,
nullable: true,
})
resetPasswordToken!: string;
Tu też leży mój problem. Typeorm bierze wpisywanie pola i próbuje utworzyć to pole bazy danych na podstawie wpisywania, które czyta. Chociaż poniższy kod jest poprawny, typescript zasadniczo zawiera oba typy w jednym obiekcie a ten obiekt jest odczytywany przez Typeorm, powodując błąd, który otrzymałem.
resetPasswordToken!: string | null;
Aby rozwiązać mój problem, musiałem wyraźnie określić typ pola bazy danych w następujący sposób:
@Column({
type: 'text',
unique: true,
nullable: true,
})
resetPasswordToken!: string;