След добра нощна почивка успях да разреша проблема си.
Typeorm задава типа на полетата на базата данни въз основа на въвеждането, което давате на променливите за вашите обекти в машинопис. Typeorm прехвърля кода по-долу към varchar поле в моята база данни на postgres, защото му дадох низ като тип в машинопис.
@Column({
unique: true,
nullable: true,
})
resetPasswordToken!: string;
Това е и моят проблем. Typeorm приема въвеждането на поле и се опитва да създаде това поле на базата данни въз основа на въвеждането, което чете. Докато кодът по-долу е правилен, typescript основно капсулира и двата типа в един обект и този обект е това, което се чете от Typeorm, причинявайки грешката, която получих.
resetPasswordToken!: string | null;
За да поправя проблема си, трябваше да посоча типа поле на базата данни изрично по следния начин:
@Column({
type: 'text',
unique: true,
nullable: true,
})
resetPasswordToken!: string;