node.js에서 실행되고 TypeScript로 작성된 객체 관계형 매퍼 라이브러리
MySQL
,PostgresSQL
,MariaDB
,SQLite
,MS SQL Server
,Oracle
,SAP Hana
,WebSQL
같은 여러 데이터베이스 지원
객체와 관계형 데이터베이스의 데이터를 자동으로 변형 및 연결하는 작업
ORM을 이용한 개발은 객체와 데이터베이스의 변형에 유연하게 사용 가능하다
객체 지향 프로그래밍은 클래스
사용
관계형 데이터베이스는 테이블
사용
-> 객체 모델과 관계형 모델 간 불일치 존재
이걸 맵핑 시켜주는게 ORM
@nestjs/typeorm
: NestJS에서 TypeORM을 사용하기 위해 연동시켜야 하는 모듈
typeorm
: TypeORM 모듈
pg
: Postgres 모듈
npm i pg typeorm @nestjs/typeorm --save
으로 한꺼번에 설치 고고
잠깐
+++++++++++++++++++++
주의!!!!!!
npm install typeorm@0.2
0.3 최신 버전에서는 EntityRepository 사용이 불가능해서 0.2버전으로 다운그레이드 했어요
그냥 0.2버전 다운하시는게 나을듯 합니다^-^
src-configs폴더생성-typeorm.config.ts파일 생성
아까 pgAdmin에서 만든 DB 정보를 기입해준다
참조: https://velog.io/@genius_jihyepark/Postgres와-pgAdmin로-데이터베이스-생성하기
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
export const typeORMConfig: TypeOrmModuleOptions = {
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'postgres',
password: 'postgres',
database: 'board-app',
entities: [__dirname + '/../**/*.entity.{js,ts}'],
synchronize: true,
};
synchronize -> true값을 주면 애플리케이션을 다시 실행할 때 엔티티 안에서 수정된 컬럼의 길이 타입 변경 값 등을 해당 테이블을 Drop한 후 다시 생성해준다
app.module.ts로 가서 연결시키기