Example #1
0
'use strict';

var path = require('path');
var Migration = require('mongration').Migration;

var db3Config = {
	hosts: '10.0.2.15',
	db: 'mydb3',
	migrationCollection: 'migrationversion'
};

var db3Migration = new Migration(db3Config);

db3Migration.add([
	path.join(__dirname, './migration-steps/1-simple-query-sample.js')
]);

module.exports = {
	migration : db3Migration
}
const migrationConfig = {
  hosts: config.get('MONGODB_HOST'),
  db: config.get('MONGODB_DATABASE'),
  user: config.get('MONGODB_USER'),
  password: config.get('MONGODB_PASSWORD'),
  migrationCollection: config.get('MONGODB_MIGRATIONS_COLLECTION'),
};

const migrationsPerformer = {
  getAllMigrationsScripts() {
    return Q.denodeify(fs.readdir)(path.join(__dirname, '/migrations'))
    .then((files) => files.filter((filename) => (/\.js$/i).test(filename)));
  },

  applyMigrations(migrationsIds) {
    const dbMigration = new Migration(migrationConfig);
    const migrationsScripts = migrationsIds.map(
      (filename) => path.join(__dirname, '/migrations', filename)
    );
    dbMigration.add(migrationsScripts);
    return Q.denodeify(dbMigration.migrate.bind(dbMigration))();
  },

  applyAllMigrations() {
    return this.getAllMigrationsScripts()
      .then((migrationsIds) => this.applyMigrations(migrationsIds));
  },

  applyMigrationsUpTo(migrationId) {
    return this.getAllMigrationsScripts().then((migrationsIds) => {
      if (migrationsIds.indexOf(migrationId) === -1) {