Skip to content

Instantly share code, notes, and snippets.

@ducksoupdev
Forked from fdevibe/Users-seed-example.js
Last active August 29, 2015 14:22
Show Gist options
  • Save ducksoupdev/514a7c947d39cc371322 to your computer and use it in GitHub Desktop.
Save ducksoupdev/514a7c947d39cc371322 to your computer and use it in GitHub Desktop.
#! /usr/bin/env node
'use strict';
var db = require('./models'),
optimist = require('optimist'),
_ = require('lodash'),
path = require('path');
_.each(optimist.argv._, function (file) {
var module = require(path.join(process.cwd(), file));
module.seed(db.sequelize);
});
var _ = require('lodash'),
fs = require('fs'),
path = require('path'),
csv = require('csv'),
Sequelize = require('sequelize');
function addUser(db, filename, rolesByName, addresses) {
var parser = csv.parse({}, function (err, data) {
db.models.User.bulkCreate(
_.map(data, function (record, index) {
// Create user attributes object and return it
})
);
fs.createReadStream(filename).pipe(parser);
}
var seed = function (db) {
Sequelize.Promise.all([
db.models.Role.findAll(),
db.models.Address.findAll()
]).spread(function (roles, addresses) {
var rolesByName = _.each(roles, function (role) {
rolesByName[role.name.toLowerCase()] = role;
});
addUsers(db, path.join(__dirname, 'data', 'users.csv'), rolesByName, addresses);
});
};
module.exports = {
seed: seed
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment