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