连接Postgres Heroku与Knex不工作

用Knex运行我们的查询,我们难以build立一个Heroku / Postgres数据库。 我们已经build立了我们的heroku / postgres数据库并创build了我们的表格,但是我们很难与Knex连接。 更糟糕的是,几乎没有关于将Heroku / Postgres与Knex或任何ORM连接的文档,所以试图找出这些东西是一个真正的痛苦。

这些是我试过的连接模式。

var knex = require('knex')({ client: 'pg', connection: { user: username, password: password, host: host, port: port, database: database, ssl: true } } }); 

并且…请注意,ssl真正的切换和删除所有在一起无济于事。

  var knex = require('knex')({ client: 'pg', connection: HEROKU_POSTGRESQL_COLOR_URL, ssl: true } }); 

我们也尝试了这种模式:

 var pg = require('knex')({ client: 'pg', connection: HEROKU_POSTGRESQL_COLOR_URL }); 

我们还没有拉下localdb的副本,所以我们运行的每个testing基本上都是一个git commit。 我们基本上是testing一个GET请求到我们的根(index.html)页面的插入查询。 所以在获取主页的请求时,应该在我们的waterrates表中插入一些东西。 如果将它从insert切换到select,它将返回一个对象,但实际上看不到对象中的任何数据。

我们试图使用的插入是:

 knex.select('*').from('waterrates').then(function(rows){ return rows; }); knex('waterrates').insert({name: 'pleeeaseee work'}, {rate: 100}).then(function(rows){ console.log(rows); }) knex.select(). 

我们实际上并不确定错误的位置,因为尝试连接不会产生任何错误。 这可能是愚蠢的,但我们不知道在哪里/如何解决这个问题。 任何帮助将不胜感激!

谢谢,B

我有一个老版本的PG安装,这是造成这个问题。 我们改变了我们的package.json文件来使用最新的PG。 Heroku更新了它,它工作!

作为一个侧面说明,如果有人在将来看这个,heroku需要一个SSL连接。 请记住,当你在工作。 我上面提供的连接string应该为你工作。