→ NestJS에서 BoardRepository의 의존성을 해결할 수 없다는 것을 의미한다.
→ DataSource가 BoardRepository의 생성자에서 필요하지만, NestJS가 찾을 수 없다는 것을 의미한다.
해결방법
1.
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import * as dotenv from 'dotenv';
dotenv.config();
export const typeOrmConfig: TypeOrmModuleOptions = {
type: 'mysql',
host: process.env.DB_HOST,
username: process.env.DB_USER,
password: process.env.DB_PW,
port: +process.env.DB_PORT, //+는 문자->숫자로 바꿔줌
database: process.env.DB_NAME,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
synchronize: true, // 개발중에만 true로 설정
logging: true, // SQL 로그가 출력
};
DataSource의 설정 확인을 해보자. (오타가 있는지, env파일에 정의된 환경변수에 잘 맞는지 등)
2.
import { Module } from '@nestjs/common';
import { BoardsController } from './boards.controller';
import { BoardsService } from './boards.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Board } from './boards.entity';
@Module({
imports: [
TypeOrmModule.forFeature([Board]) // Board 엔터티를 TypeORM 모듈에 등록
],
controllers: [BoardsController],
providers: [BoardsService],
})
export class BoardsModule {}
TypeOrmModule을 설정하여 데이터베이스 연결을 설정해야 한다.
LIST