Sequelize migration错误:无法读取未定义的属性"长度"

MrC*_*Rkz 5 javascript mysql node.js express sequelize.js

这是我遵循的教程:https://medium.com/@prajramesh93/getting-started-with-node-express-and-mysql-using-sequelize-ed1225afc3e0

这是我使用的express + mysql和ORM Sequelize的节点js项目.

我试图运行时遇到此错误 sequelize db:migrate

'use strict';
module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable('Employees', {
      id: {
        allowNull: false,
        autoIncrement: true,
        primaryKey: true,
        type: Sequelize.INTEGER
      },
      name: {
        type: Sequelize.STRING
      },
      designation: {
        type: Sequelize.STRING
      },
      salary: {
        type: Sequelize.NUMBER
      },
      createdAt: {
        allowNull: false,
        type: Sequelize.DATE
      },
      updatedAt: {
        allowNull: false,
        type: Sequelize.DATE
      },
      companyId: {
        type: Sequelize.NUMBER,
        onDelete: 'CASCADE',
        references: {
          model: 'Companies',
          key: 'id',
          as: 'companyId',
        }
      }
    });
  },
  down: (queryInterface, Sequelize) => {
    return queryInterface.dropTable('Employees');
  }
};
Run Code Online (Sandbox Code Playgroud)

MrC*_*Rkz 10

问题依赖于NUMBER DataType.在Sequelize的数据类型列表中找不到的内容(http://docs.sequelizejs.com/manual/tutorial/models-definition.html#data-types)

更改以下内容:

salary: {
            type: Sequelize.NUMBER
        }
Run Code Online (Sandbox Code Playgroud)

至:

salary: {
            type: Sequelize.DECIMAL(10, 2)
        }
Run Code Online (Sandbox Code Playgroud)

还记得更新DataType相关的模型.