mirror of
https://github.com/mjrode/WhatToWatch.git
synced 2026-01-08 22:49:30 -06:00
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
/* eslint-disable no-console */
|
|
const {exec} = require('child_process');
|
|
const configs = require('../config/config');
|
|
|
|
const mode = (
|
|
process.argv.find(arg => /production$|development$/.test(arg)) ||
|
|
'development'
|
|
).replace(/[^\w]/g, '');
|
|
|
|
const {username, database, host} = configs[mode];
|
|
|
|
if (!username || !database || !host) {
|
|
console.error('Please ensure all required parameters are supplied:');
|
|
console.error('username:', username);
|
|
console.error('database:', database);
|
|
console.error('host:', host);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log(username, database, host);
|
|
|
|
exec(
|
|
`createdb -U ${username} -h ${host} ${database}`,
|
|
(err, stdout, stderr) => {
|
|
if (err) {
|
|
console.error('Error creating DB.');
|
|
console.error(err || stderr);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log('Created DB.');
|
|
exec(
|
|
`./node_modules/.bin/sequelize db:migrate --env ${mode}`,
|
|
(err2, stdout2) => {
|
|
if (err2) {
|
|
console.error('Error running migrations.');
|
|
console.error(err2);
|
|
console.error('Dropping DB');
|
|
exec(
|
|
`dropdb -U ${username} -h ${host} ${database}`,
|
|
(err3, stdout3, stderr3) => {
|
|
if (err2) {
|
|
console.error('Error dropping DB');
|
|
console.error(err3 || stderr3);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.info('Dropped DB.');
|
|
process.exit(0);
|
|
},
|
|
);
|
|
} else {
|
|
console.log(stdout2);
|
|
console.log('Migrations complete.');
|
|
console.log('Process finished. Exiting.');
|
|
process.exit(0);
|
|
}
|
|
},
|
|
);
|
|
},
|
|
);
|