gpt4 book ai didi

javascript - 在 Heroku 上测试 Postgres 数据库

转载 作者:行者123 更新时间:2023-11-29 13:44:24 25 4
gpt4 key购买 nike

我目前正在 Heroku 上使用 Swagger 构建 API,我想尝试端点是否在 Postgre 数据库中创建正确的条目。但是,一旦我尝试在我的测试环境中连接到 Heroku 的 Postgre,连接就会被拒绝。我认为这是因为在持续集成环境中,heroku 创建了一个沙箱并且不接受与真实数据库的连接。

我尝试按照此处的建议创建备份数据库:https://devcenter.heroku.com/articles/heroku-postgres-backups但我找不到要访问的信息!

感谢任何帮助!

谢谢。

这是我的代码测试:

'use strict';

var should = require('should');
var request = require('supertest');
var assert = require('assert');
var server = require('../../../app');

var pg = require('pg');
var knex = require('knex')({
client: 'postgresql',
connection: process.env.DATABASE_URL

});

describe('controllers', function () {
describe('testing cenas', function () {
it('test1', function (done) {

request(server)
.get('/hello')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200)
.end(function (err, res) {

assert.equal(res.body, 'Hello,Hugo Pereira!');
done();
});
});


});
});

它给出了一个错误:

Unhandled rejection Error: Unable to acquire a connection
at Client_PG.acquireConnection (/app/node_modules/knex/lib/client.js:332:40)
at Runner.ensureConnection (/app/node_modules/knex/lib/runner.js:233:24)
at Runner.run (/app/node_modules/knex/lib/runner.js:47:42)
at Builder.Target.then (/app/node_modules/knex/lib/interface.js:39:43)
at testPg (/app/api/controllers/hello_world.js:27:44)
at swaggerRouter (/app/node_modules/swagger-tools/middleware/swagger-router.js:407:20)
at swagger_router (/app/node_modules/swagger-node-runner/fittings/swagger_router.js:31:5)
at Runner.<anonymous> (/app/node_modules/bagpipes/lib/bagpipes.js:171:7)
at bound (domain.js:301:14)
at Runner.runBound (domain.js:314:12)
at Runner.pipeline (/app/node_modules/pipeworks/pipeworks.js:72:17)
at Runner.flow (/app/node_modules/pipeworks/pipeworks.js:223:19)
at Pipeworks.flow (/app/node_modules/pipeworks/pipeworks.js:135:17)
at Pipeworks.siphon (/app/node_modules/pipeworks/pipeworks.js:186:19)
at Runner.<anonymous> (/app/node_modules/bagpipes/lib/bagpipes.js:98:22)
at bound (domain.js:301:14)
0 passing (2s)

最佳答案

heroku pg:psql命令应该连接到您的数据库。您还可以将参数传递给它以连接到备用/备份数据库。

关于javascript - 在 Heroku 上测试 Postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50815942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com