node.js - 尝试 knex 种子 :run after successful knex migrate:latest for remote database 时出错

标签 node.js postgresql knex.js

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

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

最佳答案

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

关于node.js - 尝试 knex 种子 :run after successful knex migrate:latest for remote database 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38562509/

相关文章:

javascript - 使用 RequireJS 缓存破坏特定模块

node.js - 如何删除DynamoDB中的多行?

postgresql - 当启用事务池并发出单个语句时,pgbouncer 如何表现?

javascript - 如何在 bookshelf.js 中设置我的数据库模型

json - 在 Node js 中使用 Avro 序列化数据

javascript - Heroku, Node npm 错误! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"

postgresql - 具有精度为 2 的小数类型的列。但是在其中保存数据的同时,它只保存了一个精度的值。

perl - 静态链接 DBD::Pg(针对 libpq.so)但针对 Perl 动态链接?

bookshelf.js - 播种没有取回数据

javascript - 用 chai 发送 POST 请求发送一个空体?