首页 > 解决方案 > 找不到角色的实体元数据

问题描述

我被困住了。我正在使用 Nest.js 和类型 Orm。有 2 个没有注释行的实体。

用户:

@Entity('user')
export class UserEntity {

  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column({
    unique: true,
  })
  email: string;

  @Column({
    nullable: true,
  })
  password: string;

  // @OneToMany(type => PetEntity, pet => pet.user)
  // pets: PetEntity;
}

宠物:

@Entity('pet')
export class PetEntity {

  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column()
  name: string;

  // @ManyToOne(type => UserEntity, user => user.pets)
  // user: UserEntity;
}

当我取消注释时,收到错误Error: Entity metadata for PetEntity#user was not found My ormConfig :

{
  "entities": ["dist/**/*.entity.js"]
}

我在我的模块中添加每个实体:

@Module({
  imports:
    [
      TypeOrmModule.forFeature([UserRepository]),
      TypeOrmModule.forFeature([PetRepository])
    ],
  controllers:[UserController],
  providers:[UserService]
})
export class UserModule {}

@Module({
  imports: [
    TypeOrmModule.forFeature([PetRepository]),
    TypeOrmModule.forFeature([UserRepository])
  ],
  controllers: [PetController],
  providers: [PetService]
})
export class PetModule {
}

如何修复它?我建立了文档中所示的关系https://typeorm.io/#/many-to-one-one-to-many-relations 其他互联网解决方案对我没有帮助

标签: node.jsormnestjstypeorm

解决方案


唯一对我有用的是:

index.ts

import { User } from "./entity/User";


createConnection({
  type: "mongodb",
  host: "192.168.0.101",
  port: 27017,
  database: "test",
  entities: [User],
}).then(async connection => {

我添加了entities属性createConnection,一切正常。

我在这个线程秀中尝试过像这样的想法,但这对我没有帮助。

typeorm/issues/1327
nextauthjs/next-auth/issues/780


推荐阅读