console/packages/migrations/tools/db-connection-string.cjs

31 lines
823 B
JavaScript
Raw Normal View History

require('dotenv').config({
debug: true,
encoding: 'utf8',
});
const {
POSTGRES_USER = 'postgres',
POSTGRES_PASSWORD = null,
POSTGRES_HOST = 'localhost',
POSTGRES_PORT = 5432,
POSTGRES_DB = 'registry',
POSTGRES_SSL = null,
POSTGRES_CONNECTION_STRING = null,
} = process.env;
function cn(dbName = POSTGRES_DB) {
const user = encodeURIComponent(POSTGRES_USER);
const password =
typeof POSTGRES_PASSWORD === 'string' ? `:${encodeURIComponent(POSTGRES_PASSWORD)}` : '';
const host = encodeURIComponent(POSTGRES_HOST);
const dbNameEncoded = encodeURIComponent(dbName);
const sslMode = POSTGRES_SSL ? 'require' : 'disable';
return (
POSTGRES_CONNECTION_STRING ||
`postgres://${user}${password}@${host}:${POSTGRES_PORT}/${dbNameEncoded}?sslmode=${sslMode}`
);
}
module.exports = cn;