Невозможно обновить таблицу с помощью sequelize - PullRequest
0 голосов
/ 28 марта 2020

Я не могу обновить строку, используя 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.userId и req.device.type действительны. И, id:9 также действителен и присутствует в таблице.

Журнал терминала - -

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

Любая помощь будет оценена

1 Ответ

0 голосов
/ 28 марта 2020

Я думаю, что это должно быть defaultValue, а не default:

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