db-up
This component allow to migrate a database (schema / data) from a version to the most recent version. Using javascript files in a folder, will find those files and execute them in sequencial order.
Usage
var updater = ; updater ;
Installation
npm install db-up
Put update files in a ./patches
folder.
Each file should be identified with a number followed by the .js
extension.
Example structure
project |- patches |- 1.js |- 2.js |- 3.js
update
Updater function takes an options object with the following parameters.
Returns
A promise that is resolved when all patches as been applied. If a patch fail, all subsequent patches are not run and the updater invoke the catch branch of the promise.
Options
- data:
Optionnal data that can be passed to the patches. Usefull for passing a dbContext or connection string.
- path:
The path to the folder containing the patches. Default is ./patches
- version:
The current version of the database. The updater will run the script where the name is greater than this number.
- onApplyingPatch:
A function called before applying a patch.
- onAppliedPatch:
A function called after a patch has been applied. If the patch cannot be applied, the event won't be called.
Example of a patch file.
Name the file as 1.js and put it in the ./patches
folder.
var Promise = ; module { return { // do something to update // resolve the promise once it's done. ; };}
You can omit the promise as well if you are not required to.
module { // do something to update}
Development and test
Clone the project
#Clone the project https://github.com/xploratics/db-up.git #Move into the cloned repo cd db-up #Install all dependencies npm install #Run the tests npm test
License
MIT License