1
발생한 에러
ERROR [ExceptionHandler] Nest can't resolve dependencies of the CumulativeRecordRepository (?). Please make sure that the argument DataSource at index [0] is available in the TypeOrmModule context.
Potential solutions:
Is TypeOrmModule a valid NestJS module?If DataSource is a provider, is it part of the current TypeOrmModule?If DataSource is exported from a separate @Module, is that module imported within TypeOrmModule? @Module({ imports: [ /* the Module containing DataSource */ ] })
해결방법
1) Entity.ts 파일에 @Entity() 추가
2) @Injectable() 추가
3) app.module.ts 파일에 TypeOrmModule.forRoot(typeORMConfig) 추가
2
발생한 에러
WARNING: No configurations found in configuration directory:D:\~~\config
WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment.
해결방법
src폴더 외부에 config 파일 생성
3
발생한 에러
EntityMetadataNotFoundError: No metadata for "CumulativeRecord" was found.
해결방법
module.ts 파일에서,
전: entities: [__dirname + "/../**/*.entity.{js, ts}"],
후: entities: [__dirname + "/../../**/*.entity.{js, ts}"]
경로에서 에러가 났었음
참고: https://puleugo.tistory.com/101
4
발생한 에러
dto 형식에서 map 함수, reduce 함수는 에러남
해결방법
dto 형식에는 반복기를 반환하는 Symbol.iterator 메서드가 있어야 함
이터레이터 어렵다고 생각해서 for문으로 처리
5
발생한 에러
RDS 연결 후
Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string at Object.continueSession
등
해결방법
config 파일에
ssl: {
rejectUnauthorized: false,
},
추가
6
발생한 에러
column "username" of relation "user" contains null values Please interpret this error
해결방법
synchronize: true로 되어있어서 실제 DB의 컬럼명과 엔티티가 다른 경우, nestjs는 차이를 자동으로 맞추려고 하면서 에러가 났던 것.
synchronize: false로 변경해서 해결
7
발생한 에러 & 해결방법
getRawMany vs getMany
8
발생한 에러
EntityMetadataNotFoundError: No metadata for "Feedback" was found. at DataSource.getMetadata
synchronize: false로 설정해서 테이블을 pgadmin에서 추가했는데 위와 같은 에러가 계속 났음
해결방법
엔티티에서 export 위에 @Entitiy()를 넣어주지 않았었음
9
발생한 에러
feedback DELETE 부분에서 쿼리빌더로 delete하면 영향 받은 row가 하나 있다는데 DB에서는 데이터가 삭제되지 않는 문제 발생.
From GPT,
트랜잭션 처리: 트랜잭션 처리가 올바르게 이루어지고 있는지 확인하세요. 트랜잭션이 열려 있지 않거나, 트랜잭션 내에서 예외가 발생하여 롤백되는 경우 데이터 변경이 영구적으로 적용되지 않을 수 있습니다.
해결방법
return 전에 await queryRunner.commitTransaction(); 를 해야 하나의 트랜잭션이 종료되는데 해당 코드가 빠져있었음
'IT Study' 카테고리의 다른 글
[Backend] AWS RDS와 Mysql 연결하기 (+에러해결) (1) | 2023.12.17 |
---|