티스토리 뷰
TypeOrmModuleOptions에서 아래와 같이 작성함
import { TypeOrmModuleOptions } from "@nestjs/typeorm";
export const TypeORMConfig: TypeOrmModuleOptions = {
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'postgres',
password: 'postgres',
database: 'example',
entities: [__dirname + '/../**/*.entity.{js,ts}'],
synchronize: true
}
이게 안 먹음
EntityMetadataNotFoundError: No metadata for "SomethingRepository" was found.
at DataSource.getMetadata (/Users/shunnyjang/project/src/data-source/DataSource.ts:423:30)
at Repository.get metadata [as metadata] (/Users/shunnyjang/project/src/repository/Repository.ts:52:40)
at Repository.findOneBy (/Users/shunnyjang/project/src/repository/Repository.ts:539:44)
at SomethingService.getBoardById (/Users/shunnyjang/project/src/boards/boards.service.ts:24:46)
at SomethingController.getBoardById (/Users/shunnyjang/project/src/boards/boards.controller.ts:31:31)
at /Users/shunnyjang/project/node_modules/@nestjs/core/router/router-execution-context.js:38:29
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at /Users/shunnyjang/project/node_modules/@nestjs/core/router/router-execution-context.js:46:28
at /Users/shunnyjang/project/node_modules/@nestjs/core/router/router-proxy.js:9:17
이런 에러가 났다.
찾아보니까 typeorm.config.ts 파일 문제라고 해서 entities 부분 설정도 바꿔보고 디렉토리 구조도 바꿔보고 다 했다 진짜 다함!!
tsconfig-paths도 해봤고 그 와중에 Repository 잘못 한 거 발견해서 수정하고.. (해결된 부분은 아님)
아무튼 해결 방안은
import { TypeOrmModuleOptions } from "@nestjs/typeorm";
export const TypeORMConfig: TypeOrmModuleOptions = {
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'postgres',
password: 'postgres',
database: 'example',
autoLoadEntities: true,
synchronize: true
}
entities 부분 지우고 autoLoadEntities 옵션 활성화 해준 것
이렇게 해결됨
최종 결론 : TypeORM 안하고 MikroORM 하기로 했다 😇
'Node.js > TypeORM' 카테고리의 다른 글
[TypeORM] 배포 환경 마다 다른 데이터베이스를 사용하고 싶을 때 (0) | 2022.07.23 |
---|
댓글