TypeError: Invalid connection Details (PG-Promise)
TypeError: Invalid connection Details (PG-Promise)
所以我正在尝试解决 PG-Promise 给我的问题,但我不完全确定原因。我非常确定我正确地为它设置了数据库和环境,并且已经在本地正确地播种和测试了数据库。如果需要,我可以 link 调用数据库的相应查询,但我不确定这是否有助于解决此问题。
也就是说,下面是 pg-promise 环境和它触发的确切错误。感谢您帮助解决这个问题!
const promise = require('bluebird');
promise object has .catch/,then etc..
const options = {
promiseLib: promise
};
const pgp = require('pg-promise')(options);
const connectionString = process.env.DATABASE_URL;
我的 .env 数据库 url 如下:DATABASE_URL=postgres://localhost:5432/project3//
const db = pgp(connectionString);
db.connect()
.then(obj => {
obj.done();
})
.catch(error => {
console.log('ERROR:', error.message || error);
});
TypeError: Invalid connection details.
at inst (/Users/benjidurden/Documents/projects/mighty-shelf-36224/node_modules/pg-promise/lib/main.js:177:15)
at Object.<anonymous> (/Users/benjidurden/Documents/projects/mighty-shelf-36224/routes/queries2.js:12:12)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/benjidurden/Documents/projects/mighty-shelf-36224/routes/index.js:4:10)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
如果你只看the code,那么很明显你的process.env.DATABASE_URL
要么是null
要么是空字符串,两者都不是有效的连接字符串,因此错误。
my .env's database url is the following: DATABASE_URL=postgres://localhost:5432/project3
你这么认为,但我打赌它不是。
更新
根据这个问题,我重构了 pg-promise 中的初始化错误,以包含实际传入内容的详细信息,可从 v5.7.2
.
获得
所以我正在尝试解决 PG-Promise 给我的问题,但我不完全确定原因。我非常确定我正确地为它设置了数据库和环境,并且已经在本地正确地播种和测试了数据库。如果需要,我可以 link 调用数据库的相应查询,但我不确定这是否有助于解决此问题。
也就是说,下面是 pg-promise 环境和它触发的确切错误。感谢您帮助解决这个问题!
const promise = require('bluebird');
promise object has .catch/,then etc..
const options = {
promiseLib: promise
};
const pgp = require('pg-promise')(options);
const connectionString = process.env.DATABASE_URL;
我的 .env 数据库 url 如下:DATABASE_URL=postgres://localhost:5432/project3//
const db = pgp(connectionString);
db.connect()
.then(obj => {
obj.done();
})
.catch(error => {
console.log('ERROR:', error.message || error);
});
TypeError: Invalid connection details.
at inst (/Users/benjidurden/Documents/projects/mighty-shelf-36224/node_modules/pg-promise/lib/main.js:177:15)
at Object.<anonymous> (/Users/benjidurden/Documents/projects/mighty-shelf-36224/routes/queries2.js:12:12)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/benjidurden/Documents/projects/mighty-shelf-36224/routes/index.js:4:10)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
如果你只看the code,那么很明显你的process.env.DATABASE_URL
要么是null
要么是空字符串,两者都不是有效的连接字符串,因此错误。
my .env's database url is the following: DATABASE_URL=postgres://localhost:5432/project3
你这么认为,但我打赌它不是。
更新
根据这个问题,我重构了 pg-promise 中的初始化错误,以包含实际传入内容的详细信息,可从 v5.7.2
.