[개발] Sequelize 를 이용한 autoincrement 컬럼 사용steemCreated with Sketch.

in UPVUlast year

안녕하세요 @realmankwon 입니다.

DB table의 autoincrement 컬럼은 값을 넣지 않아도 자동으로 값이 입력되게 되어 있습니다.

하지만 Sequelize 를 사용하니 값을 입력하지 않았을때 다음과 같은 에러가 발생하였습니다.

ValidationError [SequelizeValidationError]: notNull Violation: id cannot be null

기존에도 사용을 했었는데 왜 에러가 나는지 몰라서 기존 테이블의 스키마를 보니 해당 값을 선언하지 않고 사용하고 있었습니다.
그렇게 사용해도 되지만 id 가 PK 이기 때문에 스키마에서 제외시키면 PK 을 이용한 조회가 불가능해집니다.

Sequelize에 설정이 있을 것 같아서 찾아보니 스키마에 autoincrement 설정을 해야하는군요.

const Model = sequelize.define('model', {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true,
  },
  // 다른 필드들 ...
});

여기서 autoIncrement 속성이 true로 설정되어 있으므로 Sequelize는 자동 증가 값을 생성하여 새로운 레코드가 생성될 때마다 해당 필드에 할당합니다.

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.032
BTC 59435.06
ETH 2521.75
USDT 1.00
SBD 2.42