Advertisement
Guest User

Untitled

a guest
Dec 5th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. require('dotenv').config();
  2. import * as pg from '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: process.env.DB_TYPE,
  9.   host: process.env.DB_HOST,
  10.   port: process.env.DB_PORT,
  11. };
  12.  
  13. async function resetDatabase() {
  14.   try {
  15.     const pgClient = new pg.Pool(config);
  16.  
  17.     const connection = await pgClient.connect();
  18.     console.log(`Connected to PostGresQL`);
  19.    
  20.     await connection.query(`DROP DATABASE IF EXISTS ${process.env.DB}`);
  21.     console.log(`Dropped database ${chalk.magenta(process.env.DB)}.`);
  22.  
  23.     await connection.query(`DROP USER IF EXISTS ${process.env.DB_USERNAME}`)
  24.     console.log(`Dropped user ${chalk.magenta(process.env.DB_USERNAME)}.`);
  25.  
  26.     await connection.query(`CREATE USER ${process.env.DB_USERNAME} WITH CREATEDB PASSWORD '${process.env.DB_PASSWORD}'`);
  27.     console.log(`Recreated user ${chalk.magenta(process.env.DB_USERNAME)}.`);
  28.  
  29.     await connection.query(`CREATE DATABASE ${process.env.DB} OWNER ${process.env.DB_USERNAME}`);
  30.     console.log(`Recreated database ${chalk.magenta(process.env.DB)} with owner ${chalk.magenta(process.env.DB_USERNAME)}.`);
  31.  
  32.     console.log('Closing connection...');
  33.     await connection.end();
  34.   } catch (err) {
  35.     console.log('ERROR:');
  36.     console.log(err);
  37.   }
  38. }
  39.  
  40. resetDatabase();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement