1. ホーム
  2. node.js

[解決済み] 既に定義されているモデルからSequelize.jsのENUM値を取得する

2022-02-15 05:26:11

質問

Sequelize.jsでモデルを定義した後、そのモデルのENUM値を取得するにはどうすればよいですか?

例えば、モデルを次のように定義します。

sequelize.define('model', {
  states: {
    type:   Sequelize.ENUM,
    values: ['active', 'pending', 'deleted']
  }
})

どのようにすれば、あらかじめ定義された ['active', 'pending' ,'deleted'] の値は、このモデルから取得できますか?

解決方法は?

スキーマ内のENUM値は rawAttributes プロパティを使用します。

var Model = sequelize.define('model', {
  states: {
    type:   Sequelize.ENUM,
    values: ['active', 'pending', 'deleted']
  }
});

console.log(Model.rawAttributes.states.values);
// logs ['active', 'pending', 'deleted'] in console