-
[MySql, Sequelize] model 만들기programing/Database 2019. 3. 22. 16:40
안녕하세요, Einere입니다.
(ADblock을 꺼주시면 감사하겠습니다.)
오늘은 Sequelize를 이용하여 model(table)을 만드는 방법을 알아보도록 하겠습니다.
Make model file
우선, 모듈화를 위해 "Express 프로젝트 폴더/models/"안에 원하는 model(table)파일을 만들어주세요.
저는 user와 comment를 만들었습니다.
그리고 모듈로 만든 파일을 exports해야 하기 때문에, module.exports에 익명함수를 하나 생성합니다.
인자로는 sequelize와 DataTypes(Sequelize)를 받으며, sequelize.define()의 반환값을 반환합니다.
define함수는 model명과 생성함수 혹은 모델객체를 받습니다.
이번 포스팅에서는 모델객체를 직접 구현했습니다.
객체에는 column값이 필요하며, 각 column은 여러가지 속성을 정의할 수 있습니다.
- type : 어떤 자료형이 들어갈 수 있는지 정의합니다. STRING, INTEGER, BOOLEAN, DATE, TEXT 등등 여러가지 있습니다.
- allowNull : null값이 들어갈 수 있는지 정의합니다. true인 경우, 해당 column에는 null값이 들어갈 수 있으며, false라면 들어갈 수 없습니다. 필수로 존재해야 하는 column에는 true를 설정하면 됩니다.
- unique : 해당 column값이 고유한지 정의합니다. true로 설정한다면, 해당 model내의 모든 열에 대해서, 서로 중복된 값을 가질 수 없습니다. 예를 들면 주민등록번호, 아이디같은 것들이 있습니다.
- defaultValue : 기본값을 설정합니다. 예를 들어, 회원가입 시에 나이에 아무런 값을 입력하지 않은 경우, 기본적으로 10살로 설정할 수 있습니다. (위의 예제에서는 allowNull값이 false이므로, defaultValue설정이 아무 의미 없긴 합니다.)
이 외에도 많은 설정이 있습니다.자세한 것은 Sequelize공식문서를 참고해주세요.이렇게 만든 model은 index.js에 import되어, db객체의 속성에 추가될 수 있습니다.
'programing > Database' 카테고리의 다른 글
[Express, Redis] express-session과 redis-server 활용하기 (0) 2019.09.24 [Redis] mac에 redis설치하는 방법 및 여러가지 정보들 (0) 2019.09.24 [MySql, Sequelize] DB 만들기 (0) 2019.03.22 [MySql, Sequelize] Express 프로젝트에 Sequelize 설치하기 (0) 2019.03.22 [MySQL] 3306 포트 삭제 (0) 2018.05.29 댓글