javascript - Sequelize .sync 函数挂起 : emitter from serial. klass

标签 javascript node.js postgresql orm sequelize.js

我已经从临时环境中拉下了一个应用程序,该应用程序在临时计算机上完美运行,但在本地它卡在 sequelize.sync 函数上。

应用程序甚至没有到达“监听端口...”

我已通过Sequelize内的同步功能登录并发现这就是卡住的地方:

(query-chainer.js 中的第 79 - 88 行)

var emitter = serial.klass[serial.method].apply(serial.klass, serial.params)

emitter.success(function(result) {
  self.serialResults[serialCopy.indexOf(serial)] = result

  if (serial.options.success) {
    serial.options.success(serial.klass, onSuccess)
  } else {
    onSuccess()
  }
}).error(onError)

此函数不会返回成功错误。我不必对他们的代码进行任何更改,因为我知道他们的库正在工作——我有一个可以工作的本地副本,我们正在重构,我只需要临时副本在我们完成时对生产进行快速更改重构。

什么可能发生变化导致此问题?看起来这可能是连接问题?

我已验证主机为 localhost,端口为 5432。正确的用户名密码dbName。全部通过:

sequelize = new Sequelize(config.db.dbName, config.db.username, config.db.password, {
    dialect: 'postgres',
    host: config.db.host,
    port: config.db.port,
    logging: false,
    define: sequelizeMethods
});

我还确认 postgresql-x64-9.2 - PostgreSQL Server 9.2 服务正在运行。

有人知道如何解决这个问题吗?或者如何获取更多信息?

最佳答案

您可以使用psql -d <dbname> -h localhost -U <username> -W进行连接吗? ?

pg@~2.0.0安装了?如果是这样,它是安装在您的计算机上还是只是通过 node_modules 拉入?

你试过吗npm install sequelize-postgres并使用:

var Sequelize = require('sequelize-postgres').sequelize
var postgres  = require('sequelize-postgres').postgres

var sequelize = new Sequelize('database', 'username', 'password', {
  dialect: 'postgres'
})

postgresql有日志输出吗?

关于javascript - Sequelize .sync 函数挂起 : emitter from serial. klass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18408431/

相关文章:

node.js - 有条件需要 express 吗?

Django:在还原(迁移)后尝试访问数据库时权限被拒绝

postgresql - 如何按对象数组的 jsonb 字段中的特定属性过滤记录

postgresql - 合并postgres中的字段聚合

javascript - 添加react到静态html

node.js - 为什么我不能在 'localhost' 上收听但我可以在 '127.0.0.1' 上收听?

javascript - 在链接路径中使用 "#"的 React-router-dom 不会导航到组件

multithreading - 为什么我的事件监视器显示 Node.js 使用多线程?

javascript - iframe .load 事件未触发

javascript - 是否可以在 ES6 类的静态方法中访问变量和函数?