east-migration-progress-indicator-helper

East plugin which provides migration helper to log progress

Usage no npm install needed!

<script type="module">
  import eastMigrationProgressIndicatorHelper from 'https://cdn.skypack.dev/east-migration-progress-indicator-helper';
</script>

README

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