728x90

Sequelize
자바스크립트 구문을 알아서 SQL로 변환해준다.
📌 Sequelize 설치
npm install sequelize sequelize-cli mysql2
- sequelize: sequelize 패키지
- sequelize-cli: sequelize 명령어 실행
- mysql2: mysql과 sequelize를 연결하는 도구
npx sequelize init : sequelize 명렁어 호출
📌 Sequelize 모델 정의
자바스크립트 구문으로 DB를 다루기 위해서는, DB와 동일하게 모델을 설정해주어야 한다. (즉, mysql에서 정의한 테이블을, sequelize에서도 동일하게 정의해야 함)
- config.js 파일에 DB 접속 정보를 별도로 저장한다.
- Models/index.js로 조건에 따라 DB 접속 정보를 불러와 연결되도록 한다.
- Models 폴더 내 js 파일로 모델을 정의한다. (.define())
Sequelize.define(param1, param2, parma3)
1) 모델명 설정 (param1)
- 모델명을 설정한다. (param3에서 테이블명을 별도로 설정하지 않으면, 해당 모델명이 테이블명으로 지정된다.)
2) 컬럼 정의 (param2)
- type: 데이터 타입을 정의 (ex. TEXT, STRING, INTEGER, DATE)
- primaryKey: 기본키 설정 (default: true)
- autoIncrement: 숫자 자동 증가 (default: false)
- allowNull: Null 허용 여부 (default: true)
- comment: 컬럼에 대한 설명을 작성
- validate: 데이터 유효성 검사를 하는 속성
3) 모델 옵션 정의 (param3)
- charset: "utf8"
- collate: "utf8-general-ci
- tableName: 테이블명 설정
- freezeTableName: true로 설정하면 테이블명이 복수로 설정됨 (default: false 일때는 테이블명이 복수형으로 설정됨)
- timestamps: createdate, update 컬럼이 자동으로 생성됨 (default: true)
📌 Sequelize 쿼리문
- SQL문에 상응하는 메서드가 존재한다. (즉, SQL문을 자바스크립트로 생성한다.)
- findAll(): SELECT → 전체를 가져오는 것으로, 결과로 배열을 반환
- findOne(): SELECT → 하나를 뽑아오는 것으로, 결과로 객체 하나를 반환
- create(): INSERT
- update(): UPDATE
- destroy(): DELETE
- Promise를 반환한다. (.then()을 붙여 결과값 사용 가능)
728x90
'포스코x코딩온 웹 풀스택 양성과정' 카테고리의 다른 글
| [포스코x코딩온] 웹 풀스택 과정 7주차 회고 | nginX (0) | 2024.03.29 |
|---|---|
| [포스코x코딩온] 웹 풀스택 과정 7주차 회고 | Cookie와 Session (0) | 2024.03.29 |
| [포스코x코딩온] 웹 풀스택 과정 6주차 회고 | MVC 구조 (0) | 2024.03.29 |
| [포스코x코딩온] 웹 풀스택 과정 5주차 회고 | 데이터베이스 - MySQL (1) | 2024.03.29 |
| [포스코x코딩온] 웹 풀스택 과정 5주차 회고 | 파일 업로드(multer) (0) | 2024.03.29 |