如何在 TypeOrm 实体中添加枚举数组?

A M*_*eto 6 arrays enums entity typescript typeorm

我正在进行大量研究和实验,以在我的实体中使用枚举数组。

import { Program } from '../../program/entities/program.entity'
import {
  Column,
  Entity,
  JoinTable,
  ManyToMany,
  ManyToOne,
  PrimaryGeneratedColumn,
} from 'typeorm'
import { Exercise } from '../../exercise/entities/exercise.entity'
import { WeekDays } from '../types/week-days.enum'

@Entity()
export class Workout {
  // [...]

  @Column({
    type: 'enum',
    enum: WeekDays,
    default: [],
    array: true,
  })
  scheduledDays?: WeekDays[]

  constructor(partial: Partial<Workout> | {} = {}) {
    Object.assign(this, partial)
  }
}

Run Code Online (Sandbox Code Playgroud)

不幸的是它给了我这个错误。

QueryFailedError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'array ('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sund' at line 1
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我不明白我的装饰器选项有什么问题。

小智 8

将其留在这里供任何因与我有相同问题而访问此帖子的人使用

   export enum StringEnum {
        ADMIN = "a",
        EDITOR = "e",
        MODERATOR = "m",
        GHOST = "g"
    }
    
    @Column({
        type: "enum",
        enum: StringEnum,
        array: true,
        default: [StringEnum.ADMIN]
    })
    stringEnums: StringEnum[];
Run Code Online (Sandbox Code Playgroud)