/east-migration-progress-indicator-helper

East plugin which provides migration helper to log progress

Primary LanguageJavaScript

east migration progress indicator helper

East (node.js database migration tool) which provides migration helper to log progress.

Build Status Coverage Status Npm version

Installation

npm install east-migration-progress-indicator-helper

Usage

Add this plugin to the plugins section to .eastrc e.g.:

{
  "plugins": ["east-migration-progress-indicator-helper"]
}

After that createIndicator can be used in migrations e.g.:

exports.migrate = function(client, done) {
	const indicator = client.createIndicator({total: 150});

	indicator.tick(5);

	setTimeout(() => {
		indicator.tick(45);
	}, 100);
	setTimeout(() => {
		indicator.tick(50);
	}, 100);
	setTimeout(() => {
		indicator.tick(50);
	}, 500);

	setTimeout(done, 1000);
};

indicator will be displayed as progress bar when stdout is tty:

Target migrations:
	2_doSomething
Migrate "2_doSomething"
[==============================] 150 / 150
Migration done

in case of non-tty stdout (file, etc) it will periodically log progress:

Target migrations:
	2_doSomething
Migrate "2_doSomething"
Progress: 5 / 150
Progress: 50 / 150
Progress: 100 / 150
Progress: 150 / 150
Migration done