seed house and power data
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
node_modules/
|
||||
bin/
|
||||
data/example/
|
||||
|
||||
@@ -21,8 +21,6 @@ class Database {
|
||||
Database[model.name] = model;
|
||||
Database.models.push(model);
|
||||
});
|
||||
console.log("!!!! TEST !!!!")
|
||||
console.log(Database.PowerDatum);
|
||||
|
||||
// add associations
|
||||
for (var model of Database.models){
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
export default class {
|
||||
|
||||
|
||||
static normal(average){
|
||||
return average + n6() * average;
|
||||
return average + this.n6() * average;
|
||||
}
|
||||
|
||||
static n6(){
|
||||
|
||||
@@ -23,10 +23,10 @@ var PowerDatum = DB.sequelize.define('PowerDatum', {
|
||||
primaryKey: true,
|
||||
autoIncrement: true // Automatically gets converted to SERIAL for postgres
|
||||
},
|
||||
time: DB.Sequelize.FLOAT,
|
||||
time: DB.Sequelize.DATE,
|
||||
power: DB.Sequelize.FLOAT
|
||||
}, {
|
||||
tableName: "power_data",
|
||||
tableName: "power_data",
|
||||
instanceMethods: {
|
||||
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user