arango-up
v0.3.0
Published
This component allow to migrate an arango database (schema / data) from a version to the most recent version
Downloads
6
Maintainers
Readme
arango-up
This component allow to migrate an arango 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 database = require('arangojs')({ url: 'http://localhost:8529' });
var updater = require('arango-up');
database.useDatabase('db').useBasicAuth('root', '');
updater
.update({ path: './patches', database, data: { server } })
.then(function () {
console.log('update completed.');
});
Installation
npm install arango-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 the arango object.
- path:
The path to the folder containing the patches. Default is ./patches
- database:
An arangojs database object.
Example of a patch file.
Name the file as 1.js and put it in the ./patches
folder.
module.exports = function (e) {
return e.database.collection('users').create();
}
Development and test
Clone the project
#Clone the project
git clone https://github.com/xploratics/arango-up.git
#Move into the cloned repo
cd arango-up
#Install all dependencies
npm install
#Mount the database, you can execute that to recreate the database
npm run mount-db
#Run the tests
npm test
#Unmount the database
npm run unmount-db
License
MIT License