Object-relational mapping
객체지향 프로그래밍(Object-Oriented-Programming)과 관계형 데이터베이스(Relational-Database)사이의 호환되지 않는 데이터를 변환하는 기술
ORM은 이렇게 서로 다른 객체와 관계형 데이터 시스템(RDBMS)을 연결해주는 중간 매개체
TypeORM은 ORM 서비스 중 하나, JavaScript & Typescript 와의 호환에도 용이, 확장성에 유리
$ npm install typeorm # typeorm 설치 명령어
설치 시, TypeORM - Mysql 연결이 안된다는 에러가 뜰 경우
TypeORM 삭제 -> mysql/mysql2 설치 -> TypeORM 드라이버 재설치
$ npm uninstall typeorm # typeorm 삭제 명령어
$ npm install mysql # mysql 설치 명령어
$ npm install mysql2 # mysql2 설치 명령어
$ npm install typeorm # typeorm 설치 명령어
TYPEORM_CONNECTION = mysql
TYPEORM_HOST = 127.0.0.1
TYPEORM_USERNAME = root
TYPEORM_PASSWORD = myPassword
TYPEORM_DATABASE = myDB
TYPEORM_PORT = 3306
TYPEORM_LOGGING =TRUE
const dotenv = require("dotenv")
dotenv.config()
const { DataSource } = require('typeorm');
const myDataSource = new DataSource({
type: process.env.TYPEORM_CONNECTION,
host: process.env.TYPEORM_HOST,
port: process.env.TYPEORM_PORT,
username: process.env.TYPEORM_USERNAME,
password: process.env.TYPEORM_PASSWORD,
database: process.env.TYPEORM_DATABASE
})
myDataSource.initialize()
.then(() => {
console.log("Data Source has been initialized!")
})
갑자기 언급된 process 객체는 node.js에서 기본으로 설정되는 글로벌 객체
별도의 require 호출 없이 언제, 어디서든지 모든 모듈에서 접근 가능한 객체