Sequelize .sync函数挂起:来自serial.klass的发射器

我从暂存计算机上完美运行的临时环境中取出了一个应用程序,但本地挂起了sequelize.sync函数。

该应用程序甚至没有达到“听港口…”

我已经通过Sequelize中的同步functionlogin,发现这是卡住的地方:

(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) 

此function不会返回到successerror 。 我不应该对代码做任何修改,因为我知道他们的库正在工作 – 我有一个本地副本,可以重构我的工作,我只需要分段副本在生产过程中快速更改生产重构。

有什么可以改变造成这个问题? 这似乎可能是一个连接问题?

我已经validation主机是端口为5432 localhost主机。 更正usernamepassworddbName 。 所有通过:

 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的日志输出?

很难说为什么你提供的信息。 我想你应该看看

 serial.klass[serial.method] 

我猜应该有这样的事情

 emitter.emit('success'); 

可能这不会发生,也不会发生错误。 希望我能帮上忙。