Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

grunt-easy-mongo-fixture

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grunt-easy-mongo-fixture

Grunt task for easy-mongo-fixture plugin. It helps to you load and save you fixtures

  • 1.0.4
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

grunt-easy-mongo-fixture

Grunt task for easy-mongo-fixture plugin. It helps to you load and save you fixtures

For more information about functionalities of this task please look at easy-mongo-fixture and easy-fixture repositories.

Getting Started

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

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-easy-mongo-fixture');

use case

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

Overview

In your project's Gruntfile, add a section named easy_mongo_fixture to the data object passed into grunt.initConfig().

grunt.initConfig({
  easy_mongo_fixture: {
    options: {
      database: 'test'
    },
    collections: ['products', 'categories'],
    action: 'load'
    }
  }
});

Options

options.host

Type: String Default value: '127.0.0.1'

Database host

options.port

Type: Number Default value: 27017

Database port

options.username

Type: String Default value: ''

Username for authentication

options.password

Type: String Default value: ''

Password for authentication

options.database

Required Type: String

Database for work with

options.dir

Type: Path Default value: 'Current directory'

Path on which fixture data will be saved if running save action, or in case or load action, path from which fixture files will be loaded into database.

options.override

Type: Boolean Default value: false

If fixture data already exist, override or not?

Collections

collections

Type: Array Required

Array of collections to work with.

Actions

action

Type: String Required

Action to execute. Either save or load.

Usage Examples

  grunt.initConfig({
    // Configuration to be run (and then tested).
    easy_mongo_fixture: {
      load: {
        options: {
          host: '127.0.0.1',
          port: 27017,
          username: 'username',
          password: 'password'
          database: 'test',
          dir: '/path/to/fixtures',
          override: true,
        },
        collections: ['products', 'categories'],
        action: 'load'
      },

      save: {
        options: {
          host: '127.0.0.1',
          port: 27017,
          database: 'test',
          dir: '/path/to/fixtures',
          override: true,
        },
        collections: ['products', 'categories'],
        action: 'save'
      }
    }
  });

Keywords

FAQs

Package last updated on 29 Apr 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc