728x90
안녕하세요. 오늘은 지난 시간에 이어 데이터를 실제 데이터 베이스에 저장을 해볼 겁니다.
데이터베이스는 Mysql을 이용하여 실습할 예정이니 미리 mysql을 설치해주시길 바랍니다.
먼저 설치부터 해볼게요. 아래 명령어를 입력해주세요.
npm install @nestjs/typeorm typeorm mysql2
그리고 저희는 환경 변수를 사용해서 설정을 할 건데 미리 설치해야 될게 있습니다.
npm install @nestjs/config cross-env dotenv
모두 설치가 완료되었다면 root 경로에 .env파일을 생성해주세요.
DB_HOST = 'DB 호스트'
DB_PORT = 3306
DB_USERNAME = 'DB 유저 이름'
DB_PASSWD = 'DB 비밀번호'
DB_DATABASE = 'DB 이름'
위 칸 모두 채워주세요.
그리고 matin.ts에서 환경 변수를 사용할 수 있게 설정할 겁니다.
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as dotenv from 'dotenv';
async function bootstrap() {
dotenv.config();
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
그리고 나서 app.module.ts 파일에 typeorm을 설정하고 참조할게요.
import { Module } from '@nestjs/common';
import { BoardModule } from './board/board.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule } from '@nestjs/config';
@Module({
imports: [
BoardModule,
ConfigModule.forRoot({
isGlobal: true,
envFilePath: '.env',
}),
TypeOrmModule.forRoot({
type: 'mysql',
host: process.env.DB_HOST,
port: +process.env.DB_PORT,
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWD,
database: process.env.DB_DATABASE,
entities: [__dirname + '/**/*.entity.{js,ts}'],
synchronize: true
})
],
controllers: [],
providers: [],
})
export class AppModule {}
그리고 npm run start를 통해 프로젝트를 실행할 때 오류가 없다면 연결 성공입니다.
'NestJs' 카테고리의 다른 글
[NestJs] 게시물에 시간 추가하기 (0) | 2024.04.14 |
---|---|
[NestJs] TypeORM을 사용해서 게시물 CRUD 만들기 (0) | 2024.04.05 |
[NestJs] 게시물 수정 및 삭제하기 (0) | 2024.03.18 |
[NestJs] ValidationPipe로 유효성 검사하기 (0) | 2024.03.09 |
[NestJs] 게시판 생성 및 불러오기 (0) | 2024.02.29 |