Если вы просто хотите заполнить вашу БД данными, вы все равно можете сделать это старомодным способом, используя mysql mysqlimport или другие инструменты.
Если это то, что вы будете делать часто, возможно, выможно попробовать создать функцию, которая будет вызывать скрипт sequelizeBulkInsert, при условии, что он работает нормально (не проверено):
// sequelizeBulkInsert.js
var fs = require('fs');
var async = require('async');
var csv = require('csv');
module.exports = function(Model){
this.importFile = function(filename, doneLoadingCallback) {
var input = fs.createReadStream(filename);
var parser = csv.parse({
columns: true,
relax: true
});
var inserter = async.cargo(function(tasks, inserterCallback) {
Model.bulkCreate(tasks).then(function() {
inserterCallback();
}
);
},
1000
);
parser.on('readable', function () {
while(line = parser.read()) {
inserter.push(line);
}
});
parser.on('end', function (count) {
inserter.drain = function() {
doneLoadingCallback();
}
});
input.pipe(parser);
}
}
Затем в другом файле
var Bulk = require('/path/to/sequelizeBulkInsert');
var bulk = new Bulk(Model);
bulk.importFile('path_to_data.csv', function(){
//data is imported
})