ORM (object relational mapping)

YoungJoon Suh·2022년 4월 11일
0

Sequalize: a promise-based Node.js ORM
지원 RDBMS: Postgres, MySQL, MariaDB, SQLite, MicrosoftSQL Server

ORM 예시 코드
var Sequelize = require('sequelize');
var db = new Sequelize('chatter', 'root', '');

var User = db.define('User', { // db.define이라는 메소드를 통해서 스키마를 작성하는 부분이다.
username: Sequelize.STRING
});

var Message = db.define('Message', {
userid: Sequelize.INTEGER, // field 이름들
text: Sequelize.STRING,
roomname: Sequelize.STRING // entity를 기술하는 코드
});
// User, Message를 클래스처럼 사용할 수 있게 만들어준다.
// created_at 같은 field를 자동으로 생성해 준다.
User.sync() // 코드와 스키마를 일치시켜 준다.
.then(function() {
return User.create({username: 'Jean Valjean'}); // 새로운 레코드를 만드는 과정이다. INSERT INTO로 값을 넣는 것과 비슷함. 생성
})
.then(function() {
return User.findAll({ where: {username: 'Jean Valjean'} });
}). // 조회
then(function(users) {
users.forEach(function(user) {
console.log(user.username + ' exists');
});
db.close();
})
.catch(function(err) {
console.error(err);
db.close();
}); // 비동기 코드를 체이닝을 하고 있다.

더 공부해 볼만한 주제:
Association
Transaction

ORM의 장점:
SQL언어 없이도 database에 접근할 수 있다.
마이그레이션은 스키마 변경에 따른 데이터 이주(migration)를 뜻합니다. 이는 데이터를 선택, 준비,추출 및 변환하여 한 컴퓨터 저장 시스템에서 다른 컴퓨터 저장 시스템으로 영구적으로 전송하는 프로세스를 뜻합니다.

profile
저는 서영준 입니다.

0개의 댓글