Guest User

Untitled

a guest
Dec 5th, 2017
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. require('dotenv').config();
  2. const pg = require('pg');
  3. const chalk = require('chalk');
  4.  
  5. const config = {
  6.   user: process.env.DB_ADMIN_USER,
  7.   password: process.env.DB_ADMIN_PASSWORD,
  8.   database: 'postgres',
  9.   host: process.env.DB_HOST,
  10.   port: 5432
  11. };
  12.  
  13. const pgClient = new pg.Pool(config);
  14. pgClient.connect((err, client, done) => {
  15.   if (err) {
  16.     throw new Error(err);
  17.   }
  18.   console.log(`Connected to PostGresQL`);
  19.   if (err) throw new Error(err);
  20.   client.query(`DROP DATABASE IF EXISTS ${process.env.DB}`, function(err, result) {
  21.     if (err) throw new Error(err);
  22.     console.log(`Dropped database ${chalk.magenta(process.env.DB)}.`);
  23.     client.query(`DROP USER IF EXISTS ${process.env.DB_USERNAME}`, function(err, result) {
  24.       if (err) throw new Error(err);
  25.       console.log(`Dropped user ${chalk.magenta(process.env.DB_USERNAME)}.`);
  26.       client.query(`CREATE USER ${process.env.DB_USERNAME} WITH CREATEDB PASSWORD '${process.env.DB_PASSWORD}'`, function(err, result) {
  27.         if (err) throw new Error(err);
  28.         console.log(`Recreated user ${chalk.magenta(process.env.DB_USERNAME)}.`);
  29.         client.query(`CREATE DATABASE ${process.env.DB} OWNER ${process.env.DB_USERNAME}`, function(err, result) {
  30.           if (err) throw new Error(err);
  31.           console.log(`Recreated database ${chalk.magenta(process.env.DB)} with owner ${chalk.magenta(process.env.DB_USERNAME)}.`);
  32.           client.end(err => {
  33.             if (err) throw new Error(err);
  34.             console.log(`Ready to run migrations.`);
  35.             done('done.');
  36.           })
  37.         })
  38.       })
  39.     })
  40.   });
  41. })
Add Comment
Please, Sign In to add comment