nodejs
sequelize

sequelizeでtoStringエラー

sequelizeを使ってdb:migrateした時に,エラーが出て困った

ERROR: Cannot read property 'toString' of undefined

ファイル名も行数も出てなかったので地道に調べてた結果,migrate用のjsファイルのtypeがおかしいことが判明.

'use strict';
module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable('orders', {
      id: {
        allowNull: false,
        autoIncrement: true,
        primaryKey: true,
        type: Sequelize.INTEGER
      },
      name: {
        type: Sequelize.STRING
      },
      user_id: {
        type: Sequelize.INT
      },
      created_at: {
        allowNull: false,
        type: Sequelize.DATE
      },
      updated_at: {
        allowNull: false,
        type: Sequelize.DATE
      }
    });
  },
  down: (queryInterface, Sequelize) => {
    return queryInterface.dropTable('orders');
  }
};

Sequelize.INTは存在しなく,Sequelize.INTEGERと書かなければいけないらしい
sequelize-cliを使ってgenerateしたときにエラーチェックで弾いてほしかった・・・

ほかにも,Sequelize.FLOATSequelize.DOUBLEは存在しないようなので注意が必要