ORM, Sequelize

0hyo·2021년 8월 2일
0

ORM?

Object Relational Mapping

object ↔ orm ↔ relational Database

둘사이의 통역사/중개자 역할을 담당하는 orm ~ 둘사이의 관계를 매핑 해주는 도구

orm을 이용하면 관계형데이터베이스의 엔티티, 레코드 접근할 때 마치

자바스크립트 객체, 클래스를 다루듯이 취급할 수 있다

why use ORM?

객체에서 값 속성은 데이터베이스에서 필드라고 볼 수 있다.

자바스크립트로 관계형데이터베이스 접근 할 수 있다.

생각하는 방법 접근하는 방법

객체지향 관계지향 다른데 orm이 효율을 높여준다.

가독성

Sequelize?

nodeJS에서 mysql을 사용할 때 raw Query문을 사용하지 않고 더욱 쉽게 다룰 수 있도록

도와주는 라이브러리

sequelize는 ORM(Object-Relational Mapping)로 분류

지원 RDBMS

Postgres, Mysql, MariaDB, SQLite, Microsoft SQL Server

PRIMARY KEY 로 이용하는 id , 생성일시나 변경일시를 작성하는 created_at, updated_at 자동생성

new Sequelize 연결 부분

db.define 스키마 작성 메소드

.create insert in

.findAll select * where

가까이 하기 해답은 여기!

https://sequelize.org/master/manual/migrations.html, https://sequelize.org/master/manual/migrations.html

Association 연관지는것 조인관련 4가지 타입 HasOne Belongs to Has many Belongs to Many

Transaction 일련의 작업단위로 하나하나의 쿼리의 조합을 작업단위로 보고 실패 롤백 성공했으면 커밋

  • dependencies 실제 어플리케이션 필요

  • dev dependencies 개발환경에서만 필요

  • 콘피그 구분 왜 구분 ?

  • 테스트, 개발, 실제배포 환경 구분

마이그레이션이 뭐냐

어떤작업? 스키마를 실제 디비에 심어주는 작업

기능을 하나 하나 덧붙일때 마다 스키마가 변경되면 기록이 되어야한다

깃커밋처럼 마이그레이션을 기록을 할수 있다.

해당 기록에 따라 언두를 할 수도 있고 가장 최근 마이그레이션 취소 전 스키마로 돌아간다

언두는 롤백같은 개념

모델은 단수로 표기를 하지만 시퀄라이즈 하면 알아서 복수로 바꿔준다

bootstrapping

프로젝트 초기 단계를 자동으로 설정해주는 것

profile
행동하는 프론트엔드 개발자 되어가는 중 👊 파이팅!!

0개의 댓글