diff --git a/commands/run-migrations-command.js b/commands/run-migrations-command.js index f521cba..eff862e 100644 --- a/commands/run-migrations-command.js +++ b/commands/run-migrations-command.js @@ -33,7 +33,12 @@ module.exports = function (migrationProvider, adapter, minMigrationTime, logger) function getPending(migrationsList, appliedMigrationIds, minMigrationTime) { var pending = []; migrationsList.forEach(function (migration) { - var id = migration.match(/^(\d+)/)[0]; + var idMatch = migration.match(/^(\d+)/); + if (!idMatch) { + console.log(`Ignoring file ${migration}, it does not match the naming pattern.`); + return; + } + var id = idMatch[0]; if ((!minMigrationTime || id >= minMigrationTime) && !~appliedMigrationIds.indexOf(id) && migration.match(/^\d+\_up.*$/)) { pending.push(migration); } diff --git a/migration-provider.js b/migration-provider.js index 26aec63..e724fe8 100644 --- a/migration-provider.js +++ b/migration-provider.js @@ -4,7 +4,8 @@ var path = require('path'); module.exports = function (config) { return { getMigrationsList: function () { - return fs.readdirSync(config.migrationsDir); + return fs.readdirSync(config.migrationsDir) + .filter(filename => filename.endsWith('.sql')); }, /** * @param {Array} migrationsList list of filenames