我在 Mikro Orm 中为实体创建了迁移。之后,我修改了实体并再次运行迁移。现在nestjs一直给我这个错误。
这是我的实体。
@Entity()
export class Task extends BaseEntity<Task, 'id'> {
@PrimaryKey()
id: number;
@Property()
name: string;
@Property()
description: string;
}
我使用npx mikro-orm migration:create --initial
. 之后,我将我的实体修改为:
@Entity()
export class Task extends BaseEntity<Task, 'id'> {
@PrimaryKey()
id: number;
@Property()
name: string;
@Property()
description: string;
@Enum(() => TaskStatus)
status: TaskStatus = TaskStatus.OPEN;
}
export enum TaskStatus {
OPEN = 'OPEN',
IN_PROGRESS = 'IN_PROGRESS',
DONE = 'DONE',
}
之后,我运行了两个命令npx mikro-orm migration:create
& npx mikro-orm migration:up
。现在 NestJs 不断给我这个错误。
[Nest] 13528 - 02/06/2021, 6:59:14 pm [NestFactory] Starting Nest application...
[Nest] 13528 - 02/06/2021, 6:59:14 pm [InstanceLoader] MikroOrmModule dependencies initialized +43ms
[Nest] 13528 - 02/06/2021, 6:59:14 pm [InstanceLoader] ConfigHostModule dependencies initialized +1ms
[Nest] 13528 - 02/06/2021, 6:59:14 pm [InstanceLoader] AppModule dependencies initialized +1ms
[Nest] 13528 - 02/06/2021, 6:59:14 pm [InstanceLoader] ConfigModule dependencies initialized +0ms
[Nest] 13528 - 02/06/2021, 6:59:14 pm [ExceptionHandler] Duplicate entity names are not allowed: Task +409ms
MetadataError: Duplicate entity names are not allowed: Task
at Function.duplicateEntityDiscovered (C:\dev\nodejs\nestjs\sandbox\node_modules\@mikro-orm\core\errors.js:151:16) at MetadataValidator.validateDiscovered (C:\dev\nodejs\nestjs\sandbox\node_modules\@mikro-orm\core\metadata\MetadataValidator.js:40:42)
at MetadataDiscovery.findEntities (C:\dev\nodejs\nestjs\sandbox\node_modules\@mikro-orm\core\metadata\MetadataDiscovery.js:81:24)
at processTicksAndRejections (node:internal/process/task_queues:93:5)
at async MetadataDiscovery.discover (C:\dev\nodejs\nestjs\sandbox\node_modules\@mikro-orm\core\metadata\MetadataDiscovery.js:34:9)
at async Function.init (C:\dev\nodejs\nestjs\sandbox\node_modules\@mikro-orm\core\MikroORM.js:42:24)
at async Injector.instantiateClass (C:\dev\nodejs\nestjs\sandbox\node_modules\@nestjs\core\injector\injector.js:290:37)
at async callback (C:\dev\nodejs\nestjs\sandbox\node_modules\@nestjs\core\injector\injector.js:42:30)
at async Injector.resolveConstructorParams (C:\dev\nodejs\nestjs\sandbox\node_modules\@nestjs\core\injector\injector.js:114:24)
at async Injector.loadInstance (C:\dev\nodejs\nestjs\sandbox\node_modules\@nestjs\core\injector\injector.js:46:9)