반응형
Sequelize.js로 모델을 정의하고 생성해주려 하는데 다음과 같은 오류가 발생했다.
Unhandled rejection SequelizeDatabaseError: Incorrect table definition; there can be only one auto column and it must bedefined as a key
먼저 내가 시도했던건 아래와 같다.
export const User = sequelize.define('user', {
no: {
type: Sequelize.INTEGER,
autoIncrement: true
},
userid: {
type: Sequelize.STRING,
allowNull: false,
primaryKey: true,
},
userpw: {
type: Sequelize.STRING,
allowNull: false
},
}, {
freezeTableName: true,
underscored: true
})
userid에 Primary Key를 걸어줬기 때문에 no에는 기본적으로 auto_incrment가 걸려있지 않다.
따라서 no에 해당 옵션을 걸어주고 싶었는데 자꾸 오류가 발생했다.
해결방법은 간단하다. unique: true 옵션을 같이 주면 된다.
최종 소스는 아래와 같다.
export const User = sequelize.define('user', {
no: {
type: Sequelize.INTEGER,
autoIncrement: true,
unique: true
},
userid: {
type: Sequelize.STRING,
allowNull: false,
primaryKey: true,
},
userpw: {
type: Sequelize.STRING,
allowNull: false
},
}, {
freezeTableName: true,
underscored: true
})
참고 : http://adbancedteam.tistory.com/149
'Coding > Etc' 카테고리의 다른 글
pipenv TypeError: 'module' object is not callable 오류 해결 (0) | 2018.10.19 |
---|---|
React.js SCSS 적용하는 방법 (0) | 2018.08.16 |
Node.js Express Json Beautifier (0) | 2018.07.18 |
Sequelize.js 로 게시글-댓글 API 설계 방법 (0) | 2018.07.18 |
Sequelize.js Association belongsToMany 정리 (0) | 2018.07.16 |