Ошибка запроса: ER_NONUNIQ_TABLE: Не уникальная таблица/псевдоним: «примечания»

#node.js #typescript #typeorm #node.js-typeorm

Вопрос:

Я столкнулся с ошибкой при запуске теста e2e. Я добавил свою сущность и репозиторий. мы используем typeorm для подключения к базе данных MySQL

Ошибка запроса: ER_NONUNIQ_TABLE: Не уникальная таблица/псевдоним: «примечания»

     export async function getNotes (studyId: string, siteId: string, ntId: string) {
  return getRepository(NotesEntity)
    .createQueryBuilder('notes')
    .leftJoinAndSelect('notes.author', 'notes')
    .where('site_id = :siteId')
    .andWhere('study_id = :studyId')
    .andWhere('notes.created_by=:ntId')
    .setParameters({ studyId, siteId, ntId })
    .getMany()
}

    

 1. export class NotesEntity {   @PrimaryGeneratedColumn('increment')  
    id!: number
    
      @Column()   text?: string
    
      @Column({
        type: 'enum',
        enum: NOTE_TYPE   })   type?: NoteType
    
      @Column()   study_title?: string

  @Column({ nullable: true, type: 'boolean' })
  critical_note?: boolean

  @Column({
    type: 'enum',
    enum: NOTE_ACTIONEDROLE
  })
  actioned_role!: NoteActionedRole

  @Column({
    type: 'enum',
    enum: NOTE_ACTIONEDSELECTION
  })
  actioned_selection!: NoteActionedSelection

  @ManyToOne(() => SiteEntity)
  @JoinColumn([
    {
      name: 'site_id',
      referencedColumnName: 'id'
    },
    {
      name: 'study_id',
      referencedColumnName: 'study_id'
    }
  ])
  site!: SiteEntity

  @ManyToOne(() => PersonnelEntity)
  @JoinColumn({ name: 'created_by' })
  author!: PersonnelEntity

  @Column()
  created_by?: string

  // Audit columns
  @CreateDateColumn()
  created_at?: Date
}


  export class PersonnelEntity {
  @PrimaryColumn()
  ntid!: string

  @Column()
  firstname!: string

  @Column()
  lastname!: string

  @Column({ nullable: true })
  email!: string

  @Column({
    type: 'enum',
    enum: PERSONNEL_ROLES
  })
  role!: PersonnelRole

  @Column({
    type: 'enum',
    enum: PERSONNEL_STATUS
  })
  status!: PersonnelStatus

  @ManyToOne(() => PersonnelEntity)
  @JoinColumn({
    name: 'lmntid'
  })
  lmntid?: string

  @OneToMany(
    () => UserActivityEntity,
    activity => activity.user,
    {
      cascade: ['remove']
    }
  )
  activity_log!: UserActivityEntity[]

  @OneToMany(
    () => NotesEntity,
    notes => notes.author
  )
  notes!: NotesEntity[]

  // Audit columns
  @CreateDateColumn()
  created_at!: Date

  @UpdateDateColumn()
  updated_at!: Date
}
 

Комментарии:

1. Пожалуйста, не вставляйте один и тот же текст несколько раз в свой вопрос