Skip to content

Liquibase inspired mongodb migration tool for node.

License

Notifications You must be signed in to change notification settings

malykhinvi/node-mongodb-changelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build status Coverage Status npm version

Node MongoDB Changelog

Liquibase inspired mongodb migration tool for Node.js.

Install

Required Node.js 10+

npm install mongodb-changelog

Usage

const changelog = require('mongodb-changelog');

const config = {mongoUrl: 'mongodb://localhost:27017/test'};
const tasks = [
    {
        name: 'initDB',
        operation: () => Promise.resolve(true)
    },
    {
        name: 'addAppAdminUsers',
        operation: (db) => {
            const users = db.collection('users');
            return users.insertOne({username: 'admin', password: 'test', isAdmin: true});
        }
    }
];

changelog(config, tasks);

The code above will create collection, called "databasechangelog", and create two records inside (one per each task). Each record contains name of the task, date of applying of this task and task function md5Sum.

Check out tests for more examples.

Features

  • changeset functions synchronous processing,
  • changeset modifications monitoring,
  • migrations automatic run,
  • async/await support