【问题标题】:Error when attempting knex seed:run after successful knex migrate:latest for remote database尝试 knex 种子时出错:成功 knex 迁移后运行:远程数据库的最新版本
【发布时间】:2016-08-01 15:26:31
【问题描述】:

我在尝试对我的远程 postgres 数据库(不是本地主机)运行 knex seed:run 时遇到以下错误:Knex:Error Pool2 - Error: connect ECONNREFUSED 127.0.0.1:5432

我能够成功运行knex migrate:latest,并且可以看到表是在我的 postgres 服务器上创建的,但是当我尝试播种时,我得到了那个错误。我已经针对我的本地配置运行了相同的迁移/种子文件,并且它运行没有问题,但是当我尝试为我的 heroku postgres 实例播种时,它抛出了这个错误(当我没有运行我的本地 pg 服务时) m 播种新数据库,这可能是它抛出错误的原因)。

关于它为什么尝试连接到 localhost 而不是指定的数据库的任何想法?我的文件示例如下:

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: "test@test.com"}).save(null, {method: "insert"});
    }).then(function() {
      return new Project({id: 1, name: "Test"}).save(null, {method: "insert"});
    })
};

【问题讨论】:

  • 嗨,您可以对您的 kexfile.js、一两次迁移和一些种子进行采样吗?我只是在猜测,但也许种子可能没有返回承诺或构建器,可能由于错误而得到错误的配置文件......如果可能,请提供更多信息。
  • 感谢您的回复,我在主帖中添加了一些代码。

标签: node.js postgresql knex.js


【解决方案1】:

这似乎是由于我如何设置迁移/种子而发生的。配置实际上是从两个不同的地方提取的,一个有正确的 SSL 设置,另一个没有(种子文件)。在这两个地方添加正确的设置似乎可以解决问题。

【讨论】:

    猜你喜欢
    • 2017-10-10
    • 2021-05-11
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 2018-09-16
    • 1970-01-01
    • 2019-04-01
    相关资源
    最近更新 更多