#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. Пожалуйста, не вставляйте один и тот же текст несколько раз в свой вопрос