【问题标题】:Unable to update Table using sequelize无法使用 sequelize 更新表
【发布时间】:2020-03-29 04:47:38
【问题描述】:

我无法使用 sequelize 更新行。似乎它正在跳过查询,因为更新时终端中没有生成日志。插入和销毁等其他操作运行良好。

更新代码

const uuid = require('uuid/v4');

const db = require('../../models');

const TempToken = db.tempTokens;

exports.generateToken = async (req) =>{
  'use strict';
  const token = uuid();
  // let  transaction = await db.sequelize.transaction();
  try{

    console.log(req.userId);  /////////// DATA prints in console
    console.log(req.device.type);  /////////// DATA prints in console

    const insert = {
      user: req.userId,
      device: req.device.type,
    };

    await TempToken.update({valid: false}, {where:{id: 9 } });

    insert['token'] = token;
    insert['deviceConfig'] = JSON.stringify(req.device);
    await TempToken.create(insert);

    return token;
  }
  catch (e){
    return e;
  }
};

TempTokens 模型 -

/* jshint indent: 2 */

module.exports = function(sequelize, DataTypes) {
  return sequelize.define('tempTokens', {
    id: {
      type: DataTypes.INTEGER(11),
      allowNull: false,
      primaryKey: true,
      autoIncrement: true,
    },
    user: {
      type: DataTypes.STRING(225),
      allowNull: true,
    },
    token: {
      type: DataTypes.STRING(225),
      allowNull: false,
    },
    device: {
      type: DataTypes.STRING(225),
      allowNull: true,
    },
    deviceConfig: {
      type: DataTypes.TEXT,
      allowNull: true,
    },
    valid: {
      type: DataTypes.BOOLEAN,
      allowNull: false,
      default: true,
    },
  }, {
    tableName: 'tempTokens',
  });
};

req.userIdreq.device.type 中的数据有效。而且,id:9 也是有效的并且存在于表中。

终端日志是 -

Executing (default): INSERT INTO `tempTokens` (`id`,`user`,`token`,`device`,`deviceConfig`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?,?); 

任何帮助将不胜感激

【问题讨论】:

    标签: node.js express model sequelize.js


    【解决方案1】:

    我认为应该是 defaultValue 而不是 default:

    valid: {
          type: DataTypes.BOOLEAN,
          allowNull: false,
          defaultValue: true,
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 2019-03-13
      • 2021-09-30
      • 2020-12-11
      • 1970-01-01
      • 2020-09-05
      • 2020-06-02
      相关资源
      最近更新 更多