У меня есть база данных PostgreSQL, размещенная на Heroku.Вот как я к нему подключаюсь:
//sql_conn.js
const pgp = require('pg-promise')();
pgp.pg.defaults.ssl = true;
const db = pgp('postgres://connection_string_redacted');
if(!db) {
console.log("Database setup unsuccessful.");
process.exit(1);
}
module.exports = db;
И я пытаюсь получить к нему доступ здесь:
//test-endpoint.js
const express = require('express');
const app = express();
const router = express.Router();
let db = require('../utils/sql_conn').db;
const bp = require('body-parser');
router.use(bp.json());
router.get("/", (req, res) => {
let query = "SELECT * FROM table;";
db.manyOrNone(query)
.then((rows) => {
res.send({
success: true,
result: rows
})
}).catch((err) => {
res.send({
success: false,
error: err
})
});
});
module.exports = router;
Я проверил, что строка подключения верна, база данных работает на Herokuи путь к оператору require указан правильно, но при вызове test-endpoint.js из браузера возвращается:
TypeError: Cannot read property 'manyOrNone' of undefined
Почему база данных не определена?