はじめに
Node.js + Expressを使って開発を行った際に、sequelizeを使ってモデル内のカラムからENUMの値を取得した時のやり方をメモしておきます。
モデルの定義確認
以下のように簡易モデルを定義したとします。
sequelize.define('model', {
animals: {
type: Sequelize.ENUM,
values: ['dog', 'cat', 'bird']
}
})
取得方法
Model.rawAttributes.states.values
でENUMの値を取得できます。
var Model = sequelize.define('model', {
states: {
type: Sequelize.ENUM,
values: ['dog', 'cat', 'bird']
}
});
console.log(Model.rawAttributes.states.values);
// logs ['dog', 'cat', 'bird'] in console
カラムからENUMの値を取得する場合は、model.column.rawAttributes.states.values
などのようにすると同様に取得可能です。