Advertisement
Guest User

Untitled

a guest
Jan 13th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. var mysql = require('mysql');
  2. var fs = require('fs');
  3.  
  4. var connectionProps = JSON.parse(fs.readFileSync('connection.json', 'utf8'));
  5.  
  6. var connection = mysql.createConnection({
  7. host: connectionProps.host,
  8. user: connectionProps.user,
  9. password: connectionProps.password,
  10. database: connectionProps.database
  11. });
  12.  
  13. connection.connect();
  14.  
  15. function checkErr(err) {
  16. if (err) {
  17. connection.end();
  18. throw err;
  19. }
  20. }
  21.  
  22. connection.query('SELECT * FROM TRANSACTION_TYPE', function(err, rows, fields) {
  23. checkErr(err);
  24.  
  25. var typeNameToId = {};
  26.  
  27. for (var i = 0; i < rows.length; i++) {
  28. typeNameToId[rows[i].NAME] = rows[i].ID;
  29. }
  30.  
  31. fs.readFile(process.argv[2] + '.csv', 'utf8', function(err, content) {
  32. checkErr(err);
  33.  
  34. var data = [];
  35. var lines = content.split(/rn?|n/);
  36.  
  37. for (var i = 0; i < lines.length; i++) {
  38. if (lines[i].trim() === '') {
  39. continue;
  40. }
  41.  
  42. data.push(lines[i].split(','));
  43. var typeName = data[data.length - 1][2];
  44. data[data.length - 1][2] = typeNameToId[typeName];
  45. var dateTokens = process.argv[2].split('-');
  46. data[data.length - 1].push(new Date(dateTokens[0], dateTokens[1] - 1, dateTokens[2]));
  47. }
  48.  
  49. connection.query(
  50. 'INSERT INTO TRANSACTION (DESCRIPTION, AMOUNT, TRANSACTION_TYPE_ID, TRANSACTION_DATE) VALUES ?',
  51. [data],
  52. function(err) {
  53. connection.end();
  54.  
  55. if (err) {
  56. throw err;
  57. }
  58. }
  59. );
  60. });
  61. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement