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.FLOAT
やSequelize.DOUBLE
は存在しないようなので注意が必要