Command-line utilities for database change management, inspired by Sqitch and aiming to keep compatibility with it where applicable.
NOTE: This program is in a very rough state. You probably want Sqitch itself for anything serious. At this point
sqinis mainly a placeholder built around my specific need for
sqin resolve, which pulls and concatenates SQL deploy script dependencies into one large script.
Download node at nodejs.org and install it, if you haven't already.
npm install -g sqin
sqin resolve [scripts...]
Concatenate the SQL
scripts and all their dependencies to stdout, such that each script is preceded by its dependencies. Dependencies are specified in SQL comments much like the ones
sqitch add puts in deploy scripts:
-- requires: other-scriptBEGIN;-- etc...COMMIT;
Thus if you have a
deploy folder with a separate SQL script for each database entity (like you would have when using Sqitch), you can create a complete deploy script using something similar to:
sqin resolve deploy/*.sql > deploy-from-scratch.sql
- babel-runtime: babel selfContained runtime
- depres: Dependency graph resolution
- glob: a little globber
- mz: modernize node.js to current ECMAScript standards
- nopt: Option parsing for Node, supporting types, shorthands, etc. Used by npm.
- babel-eslint: babel-eslint allows you to lint ALL valid Babel code with the fantastic ESLint.
- grunt-babel: Turn ES6 code into vanilla ES5 with no runtime required
- grunt-contrib-watch: Run predefined tasks whenever watched file patterns are added, changed or deleted.
- grunt-eslint: Validate files with ESLint
- grunt-mocha-cli: Run Mocha server-side tests in Grunt.
- load-grunt-tasks: Load multiple grunt tasks using globbing patterns