factory-mysql-fixtures
v1.1.0
Published
Factory to load fixtures on mysql database
Downloads
5
Maintainers
Readme
factory-mysql-fixtures
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: '[email protected]'
});
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: '[email protected]' }, 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.