Sequelize - обновить таблицу с триггером - не работает - PullRequest
0 голосов
/ 24 сентября 2018

Я новичок в Sequelize и Node.js

Я пытаюсь использовать Sequelize с базой данных MSSQL и выяснить, что я могу с ней сделать.

Я установилсоединение, создал модель на основе существующей таблицы.

Такая таблица имеет несколько триггеров на нем.

Когда я пытаюсь выполнить что-то вроде этого

sampletable.update({
  NAME: "TEST"
},
{
  where: {ID: 0},
  silent: true
},
).then(function(result){
  console.log(result);
})

где«sampletable» - это импортированная модель

var sampletable = sequelize.import('./models/sampletable.js');

, созданная с помощью «SequelizeAuto» (на основе структуры существующей таблицы)

var SequelizeAuto = require('sequelize-auto')
var auto = new SequelizeAuto(config.database, config.username, config.password, config);
auto.run(function (err) {
  if (err) throw err;
});

я получаю следующую ошибку

"Unhandled rejection SequelizeDatabaseError: The target table 'sampletable' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause."

Оператор выполнен

Executing (default): UPDATE [sampletable] SET [NAME]=N'test' OUTPUT INSERTED.* WHERE [id] = 0

Возможно ли обновить таблицу с помощью триггеров с помощью sequelize ??

Если да, кто-нибудь может указать мне правильное направление ??Я гуглил, проверил документацию, но не могу найти много об этом.

TIA

1 Ответ

0 голосов
/ 31 октября 2018

Попробуйте добавить hasTrigger: true к вашей модели.Это препятствует тому, чтобы Tedious пытался вывести результаты из базовой таблицы, и вместо этого использует временную таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...