首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何捕获序列化连接错误

问如何捕获序列化连接错误
EN

Stack Overflow用户
提问于 2016-07-29 11:46:02
回答 2查看 14.3K关注 0票数 3

如果出现序列化连接错误,如何捕获?

我试着去做

代码语言:javascript
复制
var connection = new Sequelize("db://uri");
connection.on("error", function() { /* perhaps reconnect here */ });

但显然这是不受支持的。

我之所以这样做,是因为我认为sequelize可能会偶尔抛出一个未经处理的ETIMEOUT,并使我的节点进程崩溃。

目前我正在使用sequelize连接一个mysql实例。我只需要它大约2-3个小时,在此期间,我将做许多阅读查询。在此期间,mysql服务器将不会连接到任何其他内容。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-24 08:03:25

当使用外部迁移或数据库完整性非常重要时,使用sync()是相当危险的(什么时候不是!)

更具up-to-date特色的方法是使用authenticate()

代码语言:javascript
复制
sequelize
  .authenticate()
  .then(() => {
    console.log('Connection has been established successfully.');
  })
  .catch(err => {
    console.error('Unable to connect to the database:', err);
  });
票数 11
EN

Stack Overflow用户

发布于 2016-07-29 12:20:12

为此使用sequelize sync

代码语言:javascript
复制
var Sequelize = require('sequelize');

sequelize = new Sequelize(config.database, config.username, config.password, {
    'host' : config.host,
    'dialect' : config.dialect,
    'port' : config.port,
    'logging' : false
  })

sequelize.sync().then(function(){
  console.log('DB connection sucessful.');
}, function(err){
  // catch error here
  console.log(err);

});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38650200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档