TypeORM?? 뭔데??
1. ORM
- ORM(Object-Relational Mapping)은 객체지향 프로그래밍(OOP)과 관계형 데이터베이스 사이의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다.
- Typescript와 Javascript 용 ORM이 TypeORM이다.
- TypeORM은 MySQL,Oracle,WebSQL 등의 데이터베이스를 지원한다.
2. 설치 및 사용 방법
- 위에 나온대로 yarn을 쓰게 되면, yarn add @nestjs/typeorm [email protected] mysql2 이렇게 명령어를 실행하여 설치를 하면 된다.
...
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
imports: [
...
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'test',
database: 'test',
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: true,
}),
],
})
export class AppModule {}
- 위 처럼 @nestjs/typeorm 패키지에서 제공하는 TypeOrmModule을 이용하여 DB에 연결할 수 있다.
1. TypeOrmModule.forRoot : AppModule에 TypeOrmModule을 동적 모듈로 가져온다.
- type : TypeOrmModule이 다루고자 하는 데이터베이스의 타입이다.
- host : 연결할 데이터베이스 호스트의 주소를 입력한다.
- port : 데이터베이스에서 연결을 위해 열어놓은 포트번호이다. 기본적으로 '3306'을 사용한다.
- username, password : 데이터베이스에 연결할 유저명과 패스워드이다.
- database : 연결하고자 하는 데이터베이스 스키마 이름이다.
- entities : 소스 코드 내에서 TypeORM이 구동될 때 인식하도록 할 엔티티 클래스의 경로를 지정한다.
- synchornize : 서비스 구동 시 소스코드 기반으로 데이터베이스 스키마를 동기화 할지 여부이다. 로컬환경에서 구동할 때는 개발의 편의를 위해 true로 한다.
* true일때는 서비스가 실행되고 데이터베이스가 연결될 때 항상 데이터베이스가 연결될 때 항상 데이터베이스가 초기화 되므로 절대 프로젝트에서는 true로 하지 말자!!
마무리
=> 요약하자면, TypeORM은 MySQL을 연결해주는 기능을 하고 개발자의 편의를 도와준다.
Author And Source
이 문제에 관하여(TypeORM?? 뭔데??), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ko1586/TypeORM-뭔데저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)