east-mongo

v1.0.0
  • Types
  • ESM
  • CJS

mongodb adapter for east (node.js database migration tool)

License
MIT
Deps
0
Install Size
9.1 kB/-
Vulns
0
Published

Get started

$npm install east-mongo
$pnpm add east-mongo
$yarn add east-mongo
$bun add east-mongo
$deno add npm:east-mongo
$vlt install east-mongo

Readme

east mongo

mongodb adapter for east (node.js database migration tool) which uses mongodb native driver

Please note that mainstream mongodb adapter version (>= 1.x) requires east >= 1.x, for using adapter with older east versions (prior to 1.x) please use mongodb adapter version < 1.x.

All executed migrations names will be stored at _migrations collection in the current database. Object with following properties will be passed to migrate and rollback functions:

  • db - instance of mongodb native db
  • dropIndexIfExists function(collection, index, [callback]) - helper function which can be used for dropping index in safe way (contrasting to collection.dropIndex which throws an error if index doesn't exist). This function returns promise and can be used that way instead of providing callback.

east mongo package also provides following migration templates:

Default migration template will be used if template is not set. To get path of another template require.resolve could be used, e.g. at .eastrc:

	module.exports = {
		template: require.resolve('east-mongo/lib/migrationTemplates/async.js')
	}

Npm version Build Status Coverage Status Known Vulnerabilities

Node.js compatibility

east mongo requires node.js >= 4 to work.

Installation

mongodb adapter requires mongodb package as peer dependency (versions 2.x and 3.x are supported), so you should install it manually along side with east:

npm install east east-mongo mongodb@3

alternatively you could install it globally

Usage

Sample .eastrc content:

{
	"adapter": "east-mongo",
	"url": "mongodb://localhost:27017/test",
	"options": {
		"server": {
			"socketOptions": {
				"socketTimeoutMS": 3600000
			}
		}
	}
}

where url is url of database which you want to migrate (in mongodb native url connection format) and options is optional settings (see connect method specification).

Migration files created with default template that comes with adapter will look like:

exports.tags = [];

exports.migrate = function(params) {
	const db = params.db;

	return Promise.resolve();
};

exports.rollback = function(params) {
	const db = params.db;

	return Promise.resolve();
};

See east cli or library usage for more details.

License

MIT

Weekly DownloadsAcross all versions

Node.js
>=4.0.0

Versions

1.0.0
latest