UNPKG

migrat-sh

Version:

A migrat plugin for running shell scripts as migrations.

32 lines (28 loc) 949 B
/** * Migrat Shell Script Adapter * * Options: * - `interpreter` {string}: Path to interpreter (default: /bin/bash) * - `env` {object}: A list of environment variables to pass through. */ var fs = require('fs'); var pkg = require('./package.json'); var loader = require('./loader.js'); module.exports = function(options) { options.env = options.env || {}; options.interpreter = options.interpreter || '/bin/bash'; return function(migrat) { migrat.setPluginName('sh'); migrat.setPluginVersion(pkg.version); migrat.registerLoader('*.sh', loader(options)); migrat.registerTemplate('sh', function(details, callback) { fs.readFile(__dirname + '/lib/template.sh', 'utf8', function(err, source) { if (err) return callback(err); callback(null, source .replace('{{date}}', (new Date(details.timestamp)).toString()) .replace('{{attribution}}', details.user ? ' by ' + details.user : '') ); }); }); }; };