Skip to content

Instantly share code, notes, and snippets.

@joohee
Created May 2, 2014 06:10
Show Gist options
  • Select an option

  • Save joohee/ab534f54d4b0f4a22b0d to your computer and use it in GitHub Desktop.

Select an option

Save joohee/ab534f54d4b0f4a22b0d to your computer and use it in GitHub Desktop.
dbupdate.js
var exec = require('child_process'),
mysql = require('mysql'),
fs = require('fs'),
readline = require('readline')
stream = require('stream'),
AWS = require('aws-sdk'),
domain = require('domain'),
crypto = require('crypto')
var env = require('./env.json')
var instream = fs.createReadStream(env.query_result_filename);
var outstream = new stream;
outstream.readable = true;
outstream.writable = true;
var properties = require('./db-properties.json');
var connection = mysql.createConnection(properties);
connection.query("use database");
var dm = domain.create();
dm.run(function(){});
var rl = readline.createInterface({
input: instream,
output: outstream,
terminal: false
});
console.log(env.query_result_filename);
var resultNow = new Date();
var resultDir = resultNow.getFullYear() + pad(resultNow.getMonth() + 1);
var resultSubDir = pad(resultNow.getDate());
var values = [];
rl.on('line', function(line) {
console.log(line);
var id = line;
var dir = "result/"+resultDir+"/"+resultSubDir;
var extension = "png";
var fname = dir+'/'+id+'.'+extension;
var hash = crypto.createHash('sha256').update(id).digest('hex');
var uploadname = dir+'/'+hash+'.'+extension;
//console.log("origin filename: " + fname);
//console.log("upload filename: " + uploadname);
var image = {"id":id, "imagePath":uploadname};
values.push(image);
//console.log(values);
var sql = "UPDATE table SET result_image_path = '" + uploadname + "' WHERE id = " + id;
console.log(sql);
connection.query(sql, image, function(err, result){
if (err) {
console.log(err);
} else {
console.log(result);
}
});
});
function pad(number) {
var r = String(number);
if ( r.length === 1 ) {
r = '0' + r;
}
return r;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment