seed house and power data
This commit is contained in:
@@ -16,33 +16,46 @@ export class PowerDataSeed {
|
||||
rows = [];
|
||||
|
||||
csvStream.on("data", function(data){
|
||||
rows.push(rows);
|
||||
data.time = moment.utc(parseInt(data.time)).format();
|
||||
rows.push(data);
|
||||
if (rows.length % 100 === 0){
|
||||
DB.PowerDatum.bulkCreate(rows, {validate: true}).then(()=>{
|
||||
rows = [];
|
||||
});
|
||||
}
|
||||
});
|
||||
csvStream.on("end", function(){
|
||||
DB.PowerDatum.bulkCreate(rows, {validate: true}).then(done);
|
||||
DB.PowerDatum.bulkCreate(rows, {validate: true}).then(()=>{
|
||||
console.log("DONE!")
|
||||
done();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
static generateCsv(opts, done){
|
||||
opts = extend({
|
||||
start_date: moment.subtract(1, "months").unix(),
|
||||
start_date: moment().subtract(2, "months").unix(),
|
||||
end_date: moment().unix(),
|
||||
interval: 15 * 60, // every 15 minutes (in s)
|
||||
interval: 180, // every 3 minutes (in s)
|
||||
average: 1400, // Wh
|
||||
path: __dirname + "/../../data/example/power_data.csv"
|
||||
}, opts || {});
|
||||
|
||||
var row_date = opts.start_date,
|
||||
csvStream = csv.format({headers: true}),
|
||||
writableStream = fs.createWriteStream(opts.path);
|
||||
writableStream = fs.createWriteStream(opts.path),
|
||||
house_ids = opts.house_ids.split(",")
|
||||
|
||||
csvStream.pipe(writableStream);
|
||||
writableStream.on("finish", done);
|
||||
writableStream.on("finish", ()=>{
|
||||
console.log("DONE!")
|
||||
done();
|
||||
});
|
||||
|
||||
while (row_date <= end_date){
|
||||
csvStream.write(house_ids.map((house_id)=>{
|
||||
return [house_id, row_date, MathUtils.normal(opts.average)]
|
||||
}));
|
||||
while (row_date <= opts.end_date){
|
||||
for (var house_id of house_ids){
|
||||
csvStream.write([house_id, row_date, MathUtils.normal(opts.average)]);
|
||||
}
|
||||
row_date += opts.interval;
|
||||
}
|
||||
csvStream.end();
|
||||
@@ -64,7 +77,10 @@ export class HouseSeed {
|
||||
});
|
||||
csvStream.on("end", function(){
|
||||
console.log(rows);
|
||||
DB.House.bulkCreate(rows, {validate: true}).then(done);
|
||||
DB.House.bulkCreate(rows, {validate: true}).then(()=>{
|
||||
console.log("DONE!")
|
||||
done();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user