Skip to content

Commit 5633648

Browse files
refactor: use single log/warn/error methods, make output pretty (#552)
1 parent e5a9b15 commit 5633648

File tree

14 files changed

+89
-119
lines changed

14 files changed

+89
-119
lines changed

src/commands/database.js

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,9 @@ exports.handler = async function (args) {
1919

2020
switch (command) {
2121
case 'db:create':
22-
await sequelize.query(`CREATE DATABASE ${sequelize.queryInterface.quoteIdentifier(config.database)}`, {
22+
await sequelize.query(`CREATE DATABASE ${sequelize.getQueryInterface().quoteIdentifier(config.database)}`, {
2323
type: sequelize.QueryTypes.RAW
24-
}).catch(e => {
25-
helpers.view.error(`Error: ${e.message}`);
26-
process.exit(1);
27-
});
24+
}).catch(e => helpers.view.error(e));
2825

2926
helpers.view.log(
3027
'Database',
@@ -34,12 +31,9 @@ exports.handler = async function (args) {
3431

3532
break;
3633
case 'db:drop':
37-
await sequelize.query(`DROP DATABASE ${sequelize.queryInterface.quoteIdentifier(config.database)}`, {
34+
await sequelize.query(`DROP DATABASE ${sequelize.getQueryInterface().quoteIdentifier(config.database)}`, {
3835
type: sequelize.QueryTypes.RAW
39-
}).catch(e => {
40-
helpers.view.error(`Error: ${e.message}`);
41-
process.exit(1);
42-
});
36+
}).catch(e => helpers.view.error(e));
4337

4438
helpers.view.log(
4539
'Database',
@@ -59,8 +53,7 @@ function getDatabaseLessSequelize () {
5953
try {
6054
config = helpers.config.readConfig();
6155
} catch (e) {
62-
helpers.view.error(`Error: ${e.message}`);
63-
process.exit(1);
56+
helpers.view.error(e);
6457
}
6558

6659
config = cloneDeep(config);
@@ -82,13 +75,11 @@ function getDatabaseLessSequelize () {
8275

8376
default:
8477
helpers.view.error(`Dialect ${config.dialect} does not support db:create / db:drop commands`);
85-
process.exit(1);
8678
}
8779

8880
try {
8981
return new Sequelize(config);
9082
} catch (e) {
91-
helpers.view.error(`Error: ${e.message}`);
92-
process.exit(1);
83+
helpers.view.error(e);
9384
}
9485
}

src/commands/init.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ exports.handler = async function (argv) {
4444
function initConfig (args) {
4545
if (!helpers.config.configFileExists() || !!args.force) {
4646
helpers.config.writeDefaultConfig();
47-
console.log('Created "' + helpers.config.relativeConfigFile() + '"');
47+
helpers.view.log('Created "' + helpers.config.relativeConfigFile() + '"');
4848
} else {
49-
helpers.init.notifyAboutExistingFile(helpers.config.relativeConfigFile());
49+
helpers.view.notifyAboutExistingFile(helpers.config.relativeConfigFile());
5050
process.exit(1);
5151
}
5252
}

src/commands/migrate.js

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,12 @@ function migrate(args) {
3232
.then(() => migrator.pending())
3333
.then(migrations => {
3434
if (migrations.length === 0) {
35-
console.log('No migrations were executed, database schema was already up to date.');
35+
helpers.view.log('No migrations were executed, database schema was already up to date.');
3636
process.exit(0);
3737
}
3838
})
39-
.then(() => migrator.up())
40-
.catch(err => {
41-
console.error(err);
42-
process.exit(1);
43-
});
44-
});
39+
.then(() => migrator.up());
40+
}).catch(e => helpers.view.error(e));
4541
}
4642

4743
function migrationStatus(args) {
@@ -50,33 +46,26 @@ function migrationStatus(args) {
5046
.then(() => migrator.executed())
5147
.then(migrations => {
5248
_.forEach(migrations, migration => {
53-
console.log('up', migration.file);
49+
helpers.view.log('up', migration.file);
5450
});
5551
}).then(() => migrator.pending())
5652
.then(migrations => {
5753
_.forEach(migrations, migration => {
58-
console.log('down', migration.file);
54+
helpers.view.log('down', migration.file);
5955
});
60-
}).catch(err => {
61-
console.error(err);
62-
process.exit(1);
6356
});
64-
});
57+
}).catch(e => helpers.view.error(e));
6558
}
6659

6760
function migrateSchemaTimestampAdd(args) {
6861
return getMigrator('migration', args).then(migrator => {
6962
return addTimestampsToSchema(migrator)
7063
.then(items => {
7164
if (items) {
72-
console.log('Successfully added timestamps to MetaTable.');
65+
helpers.view.log('Successfully added timestamps to MetaTable.');
7366
} else {
74-
console.log('MetaTable already has timestamps.');
67+
helpers.view.log('MetaTable already has timestamps.');
7568
}
76-
})
77-
.catch(err => {
78-
console.error(err);
79-
process.exit(1);
8069
});
81-
});
70+
}).catch(e => helpers.view.error(e));
8271
}

src/commands/migrate_undo.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function migrateUndo (args) {
2727
return ensureCurrentMetaSchema(migrator).then(() => migrator.executed())
2828
.then(migrations => {
2929
if (migrations.length === 0) {
30-
console.log('No executed migrations found.');
30+
helpers.view.log('No executed migrations found.');
3131
process.exit(0);
3232
}
3333
})
@@ -37,10 +37,6 @@ function migrateUndo (args) {
3737
} else {
3838
return migrator.down();
3939
}
40-
})
41-
.catch(err => {
42-
console.error(err);
43-
process.exit(1);
4440
});
45-
});
41+
}).catch(e => helpers.view.error(e));
4642
}

src/commands/migrate_undo_all.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,10 @@ function migrationUndoAll (args) {
2828
return ensureCurrentMetaSchema(migrator).then(() => migrator.executed())
2929
.then(migrations => {
3030
if (migrations.length === 0) {
31-
console.log('No executed migrations found.');
31+
helpers.view.log('No executed migrations found.');
3232
process.exit(0);
3333
}
3434
})
35-
.then(() => migrator.down({ to: args.to || 0 }))
36-
.catch(err => {
37-
console.error(err);
38-
process.exit(1);
39-
});
40-
});
35+
.then(() => migrator.down({ to: args.to || 0 }));
36+
}).catch(e => helpers.view.error(e));
4137
}

src/commands/model_generate.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ function ensureModelsFolder () {
4949
helpers.path.getModelsPath() +
5050
'). Did you run ' + clc.blueBright('sequelize init') + '?'
5151
);
52-
process.exit(1);
5352
}
5453
}
5554

@@ -60,15 +59,14 @@ function ensureMigrationsFolder () {
6059
helpers.path.getPath('migration') +
6160
'). Did you run ' + clc.blueBright('sequelize init') + '?'
6261
);
63-
process.exit(1);
6462
}
6563
}
6664

6765
function checkModelFileExistence (args) {
6866
const modelPath = helpers.path.getModelPath(args.name);
6967

7068
if (!args.force && helpers.model.modelFileExists(modelPath)) {
71-
helpers.model.notifyAboutExistingFile(modelPath);
69+
helpers.view.notifyAboutExistingFile(modelPath);
7270
process.exit(1);
7371
}
7472
}

src/commands/seed.js

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,13 @@ function seedAll (args) {
2929
return migrator.pending()
3030
.then(seeders => {
3131
if (seeders.length === 0) {
32-
console.log('No seeders found.');
32+
helpers.view.log('No seeders found.');
3333
return;
3434
}
3535

3636
return migrator.up({ migrations: _.chain(seeders).map('file').value() });
37-
})
38-
.catch(err => {
39-
console.error('Seed file failed with error:', err.message, err.stack);
40-
process.exit(1);
4137
});
42-
});
38+
}).catch(e => helpers.view.error(e));
4339
}
4440

4541
function seedUndoAll (args) {
@@ -49,15 +45,11 @@ function seedUndoAll (args) {
4945
)
5046
.then(seeders => {
5147
if (seeders.length === 0) {
52-
console.log('No seeders found.');
48+
helpers.view.log('No seeders found.');
5349
return;
5450
}
5551

5652
return migrator.down({ migrations: _.chain(seeders).map('file').reverse().value() });
57-
})
58-
.catch(err => {
59-
console.error('Seed file failed with error:', err.message, err.stack);
60-
process.exit(1);
6153
});
62-
});
54+
}).catch(e => helpers.view.error(e));
6355
}

src/commands/seed_one.js

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,14 @@ exports.handler = async function (args) {
3030
switch (command) {
3131
case 'db:seed':
3232
await getMigrator('seeder', args).then(migrator => {
33-
return migrator.up(seeds)
34-
.catch(err => {
35-
console.error('Seed file failed with error:', err.message, err.stack);
36-
process.exit(1);
37-
});
38-
});
33+
return migrator.up(seeds);
34+
}).catch(e => helpers.view.error(e));
3935
break;
4036

4137
case 'db:seed:undo':
4238
await getMigrator('seeder', args).then(migrator => {
43-
return migrator.down({ migrations: seeds })
44-
.catch(err => {
45-
console.error('Seed file failed with error:', err.message, err.stack);
46-
process.exit(1);
47-
});
48-
});
39+
return migrator.down({ migrations: seeds });
40+
}).catch(e => helpers.view.error(e));
4941
break;
5042
}
5143

src/core/migrator.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import helpers from '../helpers/index';
21
import Umzug from 'umzug';
32
import Bluebird from 'bluebird';
43
import _ from 'lodash';
54

5+
import helpers from '../helpers/index';
6+
67
const Sequelize = helpers.generic.getSequelize();
78

89
export function logMigrator (s) {
@@ -17,24 +18,22 @@ function getSequelizeInstance () {
1718
try {
1819
config = helpers.config.readConfig();
1920
} catch (e) {
20-
console.log(e.message);
21-
process.exit(1);
21+
helpers.view.error(e);
2222
}
2323

2424
config = _.defaults(config, { logging: logMigrator });
2525

2626
try {
2727
return new Sequelize(config);
2828
} catch (e) {
29-
console.warn(e);
30-
throw e;
29+
helpers.view.error(e);
3130
}
3231
}
3332

3433
export function getMigrator (type, args) {
3534
return Bluebird.try(() => {
3635
if (!(helpers.config.configFileExists() || args.url)) {
37-
console.log(
36+
helpers.view.error(
3837
'Cannot find "' + helpers.config.getConfigFile() +
3938
'". Have you run "sequelize init"?'
4039
);
@@ -45,7 +44,7 @@ export function getMigrator (type, args) {
4544
const migrator = new Umzug({
4645
storage: helpers.umzug.getStorage(type),
4746
storageOptions: helpers.umzug.getStorageOptions(type, { sequelize }),
48-
logging: console.log,
47+
logging: helpers.view.log,
4948
migrations: {
5049
params: [sequelize.getQueryInterface(), Sequelize],
5150
path: helpers.path.getPath(type),
@@ -63,10 +62,7 @@ export function getMigrator (type, args) {
6362
return sequelize
6463
.authenticate()
6564
.then(() => migrator)
66-
.catch(err => {
67-
console.error('Unable to connect to database: ' + err);
68-
process.exit(1);
69-
});
65+
.catch(e => helpers.view.error(e));
7066
});
7167
}
7268

src/core/yargs.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ export function _baseOptions (yargs) {
5050
.option('url', {
5151
describe: 'The database connection string to use. Alternative to using --config files',
5252
type: 'string'
53+
})
54+
.option('debug', {
55+
describe: 'When available show various debug information',
56+
default: false,
57+
type: 'boolean'
5358
});
5459
}
5560

0 commit comments

Comments
 (0)