node-mongo-seeds
A tool to quickly populate your mongo db from a set of .json files. The concept is very similar to Ruby on Rails idea of seeding a database. This allows a new developer to pull down the source code for a project (which contains .json files to populate their mongodb with) and run a command and bingo!! database populated and ready to rock.
Setup
$ npm install -g node-mongo-seeds
Usage
seed-setup
Generate the setup file seed.js
.
-
From the root of your project:
$ seed-setup
-
Replace
"localhost/LOCAL_DB_NAME"
with the path to your mongodb in your brand newseed.js
file -
Create a
/seeds
folder in your project root and put.json
files or.js
files which export a json object in there. The name of the file is going to be the collection name in mongo and the contents of the file will be populated into that mongo collection.- Note that this package supports the mongo-extended-json syntax
seed
Seed your mongodb with all your data from your /seeds
folder.
-
From the root of your project:
$ seed
$ seed --help Usage: seed [options] Options: -s, --seeds-folder [folder] Use seeds folder [folder] -h, --help output usage information
Note: Every time you run $ seed
it will blow away all the data in your collections and re-populate them with whatever is in your /seeds
directory.
Separate databases per NODE_ENV
You can have separate databases for each NODE_ENV that you are using. Just a put a line in seed.js
for each NODE_ENV
that you are going to use. It defaults to undefined
, dev
, and prod
but can be changed to whatever.
Contributing
- Clone project and run
npm install -g ./
from project root - Add feature(s)
- Add tests for it
- Submit pull request
Running Tests
To run the tests, follow these instructions.
- Start mongod process
- From project root
$ npm install
- Run test command
$ npm test
Enjoy!