Verifique a conexão com o banco de dados pg-promessa ao iniciar um aplicativo
Estou construindo um aplicativo expresso que se conecta a um banco de dados postgres usando opg-promessa módulo.
Gostaria de garantir que a conexão com o banco de dados seja bem-sucedida ao iniciar o servidor de aplicativos. Em outras palavras, se a conexão ao banco de dados falhar, gostaria de lançar um erro.
Meu arquivo server.js é o seguinte:
const express = require("express");
const databaseConfig= {
"host": "localhost",
"port": 5432,
"database": "library_app",
"user": "postgres"
};
const pgp = require("pg-promise")({});
const db = pgp(databaseConfig);
const app = express();
const port = 5000;
app.listen(port, (err) => {
console.log(`running server on port: ${port}`);
});
A configuração atual iniciará o servidor expressoindependentemente se a conexão com o banco de dados é válida, qual não é o comportamento que eu gostaria.
Tentei navegar nos documentos, mas não consegui encontrar uma solução. Eu também tenteiconst db = pgp(databaseConfig).catch((err) => { // blow up });
, mas isso não funcionou porquepgp
não retorna uma promessa.