Something went wrong on our end
-
alrwasheda authoredalrwasheda authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
seqConnection.ts 1.38 KiB
import { Sequelize } from "sequelize";
import envVars from "./config";
import { Client } from "pg";
let sequelizeConnection = new Sequelize(
envVars.dbName,
envVars.dbUser,
envVars.dbPassword,
{
host: envVars.dbHost,
dialect: envVars.dbDriver,
logging: false,
}
);
//check if DB in env exists. If not, create a one
export const checkDB = async () => {
const client = new Client({
host: envVars.dbHost,
port: 5432, //envVars.dbPort does not exist!
user: envVars.dbUser,
password: envVars.dbPassword,
});
await client.connect();
//search for db in pg-catalog. if not found, create a one
await client
.query(`SELECT * FROM pg_database WHERE datname = '${envVars.dbName}'`)
.then((res) => {
//------------------------------------------------then
if (res.rows.length === 0) {
//given db not found
console.log(
`${envVars.dbName} not found!\n${envVars.dbName} created..!`
);
client.query(`CREATE DATABASE "${envVars.dbName}"`);
sequelizeConnection = new Sequelize(
envVars.dbName,
envVars.dbUser,
envVars.dbPassword,
{
host: envVars.dbHost,
dialect: envVars.dbDriver,
logging: false,
}
);
} else {
console.log("-------\nres:\n", res.rows);
}
});
};
export default sequelizeConnection;