factory-mysql-fixtures

1.1.0 • Public • Published

factory-mysql-fixtures

Build Status

Factory to load fixtures on mysql database. Based on Factory Girl and Factory Lady.

Installation

Install via npm:

$ npm install factory-mysql-fixtures

Usage

Configuring Factory

var Factory = require('factory-mysql-fixtures');
 
var dbConf = {
  host: 'localhost',
  user: 'root',
  database: 'db-test',
  password: 'db-password', // optional
  timezone: 'utc',
  dbStructureFile: './build/structure.sql' // set your own script to reload initial data when calling clean method
};
  
Factory.config(dbConf);

Defining Factories

var _nameIndex = 0;
Factory.define('person', { 
  name: function(cb) { cb('Jack - ' + _nameIndex++ ); } // lazy attribute
  email: 'jack@mail.com' 
});
 
Factory.define('device', { 
  hash: 'hash1', 
  person_id: Factory.assoc('person', 'id') // simply Factory.assoc('person') for person object itself
});
 

Using Factories

Factory.create('person', { name: 'Fred', email: 'fred@mail.com' }, function(err, result) {
  // result is the saved person id
});
 
Factory.create('device', null, function(err, result) {
  // result is the saved device id
});
 

Clean Database

Factory.clean(function(err) {
  // data reloaded
});
 

License

Copyright (c) 2014 Max Claus Nunes. This software is licensed under the MIT License.

Package Sidebar

Install

npm i factory-mysql-fixtures

Weekly Downloads

1

Version

1.1.0

License

MIT

Last publish

Collaborators

  • maxcnunes