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不会返回到success
或error
。 我不应该对代码做任何修改,因为我知道他们的库正在工作 – 我有一个本地副本,可以重构我的工作,我只需要分段副本在生产过程中快速更改生产重构。
有什么可以改变造成这个问题? 这似乎可能是一个连接问题?
我已经validation主机是端口为5432
localhost
主机。 更正username
, password
和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的日志输出?
很难说为什么你提供的信息。 我想你应该看看
serial.klass[serial.method]
我猜应该有这样的事情
emitter.emit('success');
可能这不会发生,也不会发生错误。 希望我能帮上忙。