node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

node-migrate-mongo

node-migrate-mongo

Migrations for MongoDB

build status npm version mit license we're hiring

node-migrate-mongo enables data migrations in your existing project. The state of your migrations is stored in the database specified in the mongo property of your Migratefile.coffee. By default, this collection is called migration_versions. See the Usage section (and let's be honest: the code) for more information.

Despite the name, this module does not borrow from TJ's node-migrate, though it follows very similar conventions.

Usage

In your existing project where you'd like to have migrations:

npm install --save node-migrate-mongo
cat << EOF- > Migratefile.coffee
  module.exports =
    mongo: 'mongodb://localhost/your_db'
EOF
migrate generate --name my_first_migration
# edit it
migrate all

Migratefile Options

  • beforeTest -- An async function called before running a migration test. By default sets NODE_ENV=test.
  • before -- An async function called before running a command. Useful for connecting your app to its database.
  • after -- An async function called after running a command.
  • afterTest -- An async function called after running a migration test.
  • mongo -- A string or function that returns a mongo connection string.
  • model -- A reference to your custom MigrationVersion model.
  • path -- The place to store your migration files. Defaults to migrations.
  • ext -- The extension for your migration files. Defaults to coffee.
  • template -- The template used when generating migrations.

before/after callbacks are called in this order: [ beforeTest, before, after, afterTest ]

Contributing

Please follow our Code of Conduct when contributing to this project.

$ git clone https://github.com/goodeggs/node-migrate-mongo && cd node-migrate-mongo
$ npm install
$ npm test

Module scaffold generated by generator-goodeggs-npm.