我有以下代码。这个想法是我在一个间隔内更新一个数据库行,但是如果我在这个脚本运行时手动从数据库中删除该行,save() 仍然会进入success(),但该行实际上并没有放回数据库. (因为 sequelize 使用 where 子句进行更新查询并且没有行匹配。)我希望创建一个新行或调用 error()。关于我可以做些什么来使它表现得像我想要的那样有什么想法吗?
var Sequelize = require("sequelize")
, sequelize = new Sequelize('test', 'test', 'test', {logging: false, host: 'localhost'})
, Server = sequelize.import(__dirname + "/models/Servers")
sequelize.sync({force: true}).on('success', function() {
Server
.create({ hostname: 'Sequelize Server 1', ip: '127.0.0.1', port: 0})
.on('success', function(server) {
console.log('Server added to db, going to interval');
setInterval(function() { console.log('timeout reached'); server.port = server.port + 1; server.save().success(function() { console.log('saved ' + server.port) }).error(function(error) { console.log(error); }); }, 1000);
})
})