Sequelize十进制数据保存2个小数点

wee*_*raa 4 node.js sequelize.js

我正在为我的 Node.js 项目使用 sequelize ORM。下面的代码是表中的一列。

   itemPrice: {
      type: DataTypes.DECIMAL,
      allowNull: false,
      field: 'itemPrice'
    },
Run Code Online (Sandbox Code Playgroud)

它将MYSQL DB 列生成为decimal(10,0)。这意味着它不能保存小数点数据。当我要保存 12.26 时,它是保存 12。如何创建保留 2 个小数点的列。

我也试过下面的代码。它不执行并发生错误。

   itemPrice: {
      type: DataTypes.DECIMAL(10,2),
      allowNull: false,
      field: 'itemPrice'
    },
Run Code Online (Sandbox Code Playgroud)

请告诉我一个方向来做到这一点......

Abh*_*avD 7

type: DataTypes.DECIMAL(10,2),应该管用。通过 创建表后sync,即使您更改了数据模型定义,它也不会被更改。

你可以{force: true}在你的sync函数中使用。请记住,这将删除您的表并重新创建它。

sequelize.sync({ force: true })
  .then(()
Run Code Online (Sandbox Code Playgroud)