Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require('dotenv').config();
- import * as pg from 'pg';
- const chalk = require('chalk');
- const config = {
- user: process.env.DB_ADMIN_USER,
- password: process.env.DB_ADMIN_PASSWORD,
- database: process.env.DB_TYPE,
- host: process.env.DB_HOST,
- port: process.env.DB_PORT,
- };
- async function resetDatabase() {
- try {
- const pgClient = new pg.Pool(config);
- const connection = await pgClient.connect();
- console.log(`Connected to PostGresQL`);
- await connection.query(`DROP DATABASE IF EXISTS ${process.env.DB}`);
- console.log(`Dropped database ${chalk.magenta(process.env.DB)}.`);
- await connection.query(`DROP USER IF EXISTS ${process.env.DB_USERNAME}`)
- console.log(`Dropped user ${chalk.magenta(process.env.DB_USERNAME)}.`);
- await connection.query(`CREATE USER ${process.env.DB_USERNAME} WITH CREATEDB PASSWORD '${process.env.DB_PASSWORD}'`);
- console.log(`Recreated user ${chalk.magenta(process.env.DB_USERNAME)}.`);
- await connection.query(`CREATE DATABASE ${process.env.DB} OWNER ${process.env.DB_USERNAME}`);
- console.log(`Recreated database ${chalk.magenta(process.env.DB)} with owner ${chalk.magenta(process.env.DB_USERNAME)}.`);
- console.log('Closing connection...');
- await connection.end();
- } catch (err) {
- console.log('ERROR:');
- console.log(err);
- }
- }
- resetDatabase();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement