Попытка установить отношения OneToMany и ManyToOne с typeorm, но я получаю эту ошибку, я не знаю, что не так с моим кодом.
У меня есть таблица пользователя:
import { BaseEntity, Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { Field, ID, ObjectType } from 'type-graphql';
import { Role } from './';
@ObjectType()
@Entity()
export class User extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
public id: number;
@Field()
@Column('text', { unique: true })
public userName: string;
@Column()
public password: string;
@Field()
@Column('boolean', { default: true })
public isActive: boolean;
@ManyToOne(() => Role, role => role.users)
@Field(() => Role, { nullable: true })
public role: Role;
}
и таблица ролей:
import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
import { Field, ID, ObjectType } from 'type-graphql';
import { User } from '.';
@ObjectType()
@Entity()
export class Role extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
public id: number;
@Field()
@Column('text', { unique: true })
public name: string;
@OneToMany(() => User, user => user.role, { lazy: false })
@Field(() => [User], { nullable: true })
public users: User[];
}
Однако я продолжаю получать эту ошибку
(узел: 4541) UnhandledPromiseRejectionWarning: Ошибка: метаданные объекта для пользователей роли # не найдены.Проверьте, правильно ли вы указали объект сущности и подключен ли он в параметрах соединения.[1] в /Users/soufiane/projects/pos/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:571:23 [1] в Array.forEach () [1] в EntityMetadataBuilder.computeInverseProperties (/ Usersprojects / pos / node_modules / typeorm / metadata-builder / EntityMetadataBuilder.js: 567: 34) [1] в /Users/soufiane/projects/pos/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:80:74 [1] в Array.forEach () [1] в EntityMetadataBuilder.build (/Users/soufiane/projects/pos/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:80:25) [1] в ConnectionMetadataEatasMitasBuilder./soufiane/projects/pos/node_modules/typeorm/connection/ConnectionMetadataBuilder.js:57:141) [1] в Connection.buildMetadatas (/Users/soufiane/projects/pos/node_modules/typeorm/connection/Connections):57) [1] при подключении.(/Users/soufiane/projects/pos/node_modules/typeorm/connection/Connection.js:126:30) [1] на шаге (/Users/soufiane/projects/pos/node_modules/tslib/tslib.js:136:27) [1] (узел: 4541) UnhandledPromiseRejectionWarning: необработанное отклонение обещания.Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch ().(идентификатор отклонения: 1) [1] (узел: 4541) [DEP0018] Предупреждение об устаревании: отклонение необработанного обещания устарело.В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом выхода.