TIL

해달·2021년 9월 1일
0

TIL

목록 보기
40/80
post-thumbnail

Today 공부

  • MVC
  • ORM

MVC디자인패턴 (Model View Controller)

Model 데이터의 정보를 받고 있음 db와 연결되어있음

  • 컨트롤러 : 기능과 관련
  • 모델 : 데이터베이스와 관련
  • view 유저가 보는화면을 보여주는역(UI) 컨트롤러랑만 연결

ORM (Object-Relational-Mapping)


ORM은 Object-Relational Management의 약자로, MySQL, MsSQL 등 등의 데이터베이스와 데이터베이스 안의 테이블을 프로그래밍 할 때 객체 처럼 쓸 수 있게 해주는 방식입니다.
간단하게 객체와 관계형 데이터베이스의 관계를 매핑 해주는 도구 입니다.


sequelize

sequelize란 Node.js에서 mysql을 쉽게 다룰 수 있도록 도와주는 라이브러리 하나이다.
Promise 기반의 Node.js ORM이다
객체형태로 왓다갓다 하게 도와주는 라이브러리

  • sequelize init / config/config.json
{
  "development": {
    "username": "root", //DB와 연결할 유저 "이름"
    "password": null, //DB와 연결할 유저 "비밀번호"
    "database": "s_mov", //사용할 Database 이름
    "host": "127.0.0.1", //DB 서버 호스트
    "dialect": "mysql" //DB 타입 설정 (mysql이 아니면 다른 DB 설정)
  }

sequelize Migrations

마이그레이션 을 사용 하여 데이터베이스 변경 사항을 추적 할 수 있다.
마이그레이션을 사용하면 기존 데이터베이스를 다른 상태로 또는 그 반대로 전송할 수 있다.
이러한 상태 전환은 마이그레이션 파일에 저장되며, 이 파일에는 새 상태로 전환하는 방법과 이전 상태로 돌아가기 위해 변경 사항을 되돌리는 방법이 설명되어 있다.


Sequelize의 마이그레이션은 마이그레이션을 수행하고 실행 취소하는 방법을 지시하는 두 가지 기능(up/down)을 내보내는 자바스크립트 파일이다
해당 테이블을 생성하려면 db:migrate명령 을 실행해야 합니다 .

npx sequelize-cli db:migrate // 실행
npx sequelize-cli db:migrate:undo // 취소, 가장 최근의 마이그레이션을 되돌린다
module.exports = {
  up: (queryInterface, Sequelize) => {
    // logic for transforming into the new state
  },
  down: (queryInterface, Sequelize) => {
    // logic for reverting the changes
  }
}
//일반적인 마이그레이션 파일
//migration:generate 사용
//xxx-migration-skeleton.js마이그레이션 폴더에 생성
//npx sequelize-cli migration:generate --name migration-skeleton
//queryInterface개체를 사용하여 데이터베이스를 수정할 수 있다

마치며,

SQL의 문법을 sequelize를 이용하여 자바스크립트 코드로 작성해보았는데,
조금 익숙해졌다고, 다시 새로운 문법을 배우는것 같은기분이였다(?)
INSERT INTOcreate({})라는 문법으로 사용 할 수도 있었고,
findAll과 같은 find함수도 확인 할 수 있었다.
이 부분은 내일 스프린트를 진행하며 다시 공부해봐야 겠다.

0개의 댓글