所以我试图解决PG-Promise给我的问题,但我不完全确定为什么。我非常肯定我正确地为它设置了数据库和环境,并在本地正确地播种和测试了数据库。如果需要,我可以链接我调用数据库的相应查询,但我不确定这是否有助于解决这个问题。
那就是说,下面是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的数据库网址如下: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)
答案 0 :(得分:1)
如果您只看the code,那么很明显您的process.env.DATABASE_URL
是null
或空字符串,两者都不是有效的连接字符串,因此错误。
我的.env的数据库网址如下:DATABASE_URL = postgres:// localhost:5432 / project3
你这么认为,但我敢打赌它不是。
<强>更新强>
根据这个问题,我在pg-promise中重构了初始化错误,以包含实际传入内容的详细信息,可从v5.7.2
获取。