시퀄라이즈에서 모델이라는 개념이 생소하다.
데이터베이스의 테이블을 객체화 시킨 거라고 생각하면 쉽다.
모델을 생성하려면 다음을 입력한다.
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize(/* ... */);
const User = sequelize.define('User', {
name: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING
}
}, {
// Other model options go here
});
여기서 생성한 User를 가지고 테이블을 다룰 수 있다.
다만 User 자체가 데이터베이스의 테이블은 아니다.
테이블을 다루기 위한 인스턴스일 뿐이다.
실제로 시퀄라이즈로 테이블을 생성하려면 다음을 입력해야 한다.
User.sync();
이 이름의 테이블이 존재하지 않는다면 테이블을 생성한다.
헷갈리게도 시퀄라이즈에서 테이블을 생성하면 테이블의 이름을 복수형태로 바꿔준다.
실제로 데이터베이스의 테이블 이름을 보면 Users로 되어 있다.
복수형으로 표현하지 못하는 것은 또 안 해준다고 하는데...
맘에 안 든다면 위 옵션 객체에 다음을 넣어주자.
freezeTableName: true
데이터 타입이라든지 나머지 칼럼 설정에 관한 내용은 매뉴얼을 참고하자.
'Database > Sequelize' 카테고리의 다른 글
시퀄라이즈 관계 설정과 join해서 불러오는 방법 (Associations, Eager Loading) (0) | 2020.05.23 |
---|---|
시퀄라이즈 시작 (Getting Started) (0) | 2020.05.22 |