Grunt task for easy-mongo-fixture plugin. It helps to you load and save you fixtures
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-easy-mongo-fixture --save-dev
Let we say that you have database with state which is pretty good to be fixture data. In that case you would like to 'freeze' database state and save it to file, and you want to be able to reset database state on that state each time when you want.
easy-mongo-fixture will help you with that.
I am using something like this in my project:
grunt.registerTask('fixtures:load', ['easy_mongo_fixture:load', 'easy_postgresql_fixture:load']); grunt.registerTask('fixtures:save', ['easy_mongo_fixture:save', 'easy_postgresql_fixture:save']);
So each time when I want reset databases state to some previous one I just need to run
grunt fixtures:load, and if current database state is appropriate to be fixture seed, I can save current state with
grunt fixtures:save command. After this command fixture files will be generated for you. Of course you can update generated fixture files by hand, and then run
grunt fixtures:load command to populate data with newly added fixture records. Enjoy :)
The "easy_mongo_fixture" task
In your project's Gruntfile, add a section named
easy_mongo_fixture to the data object passed into
Username for authentication
Password for authentication
Database for work with
Path on which fixture data will be saved if running
or in case or
load action, path from which fixture files will be loaded into database.
If fixture data already exist, override or not?
Array of collections to work with.
Action to execute. Either