2
当我尝试运行knex seed:run
针对我的远程postgres数据库(非本地主机)时出现以下错误:Knex:Error Pool2 - Error: connect ECONNREFUSED 127.0.0.1:5432
。尝试knex种子时出错:成功knex迁移后运行:最新用于远程数据库
我能够成功运行knex migrate:latest
,并且可以看到这些表是在我的postgres服务器上创建的,但是当我尝试播种时,出现该错误。我已经对我的本地配置运行了相同的迁移/种子文件,并且它没有问题,但是当我试图种下我的heroku postgres实例时,它会抛出这个错误(我没有运行本地pg服务,播种新的数据库,这可能是为什么它抛出一个错误)。
任何想法为什么它试图连接到本地主机,而不是指定的数据库?我提供的文件示例如下:
var User = require("./models/User");
var Project = require("./models/Project");
exports.seed = function(knex, Promise) {
console.log(knex.client.config.connection); //This returns the correct db info.
return knex('user').del()
.then(function() {
return knex('project').del()
}).then(function() {
return new User({id: 1, firstName: "James", lastName: "Lee", phone: "123-456-2000", email: "[email protected]"}).save(null, {method: "insert"});
}).then(function() {
return new Project({id: 1, name: "Test"}).save(null, {method: "insert"});
})
};
嗨,你可以抽样你的kexfile.js,一个或两个迁移和一些种子?我只是猜测,但也许种子可能不会返回一个承诺或建设者,也许它由于错误得到错误的配置文件...如果可能提供更多的信息。 – Sombriks
感谢您的回复,我在主帖中添加了一些代码。 – James