【发布时间】:2022-01-06 10:33:50
【问题描述】:
实体:
@Entity()
export class MyEntity {
@Column({
type: 'enum',
enum: MyEnum,
default: MyEnum.DEFAULT,
})
type: MyEnum;
}
枚举:
export enum MyEnum {
DEFAULT = 1,
NOT_DEFAULT = 2
}
由 TypeORM 创建的迁移:
await queryRunner.query(
`CREATE TYPE "my_enum_type_enum" AS ENUM('1', '2')`,
);
await queryRunner.query(
`ALTER TABLE "my_table" ADD "type" "my_enum_type_enum" NOT NULL DEFAULT '1'`,
);
在代码中创建实体可以正常工作,如下例所示:
my_entity.type = MyEnum.DEFAULT; // "1" and "DEFAULT" does not work, but 1 (int) works
但是当我尝试通过存储库保存时出现错误:
invalid input value for enum my_enaum_type_enum: "DEFAULT"
我在这里错过了什么?
【问题讨论】:
标签: typescript parsing enums migration database-migration