Advertisement
Guest User

Untitled

a guest
Jan 9th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. const knex = require('knex')({
  2. client: 'pg',
  3. useNullAsDefault: true,
  4. connection: {
  5. host : '127.0.0.1',
  6. user : 'postgres',
  7. password : '123',
  8. database : 'postgres'
  9. },
  10. });
  11. const path = require('path');
  12. const folder = path.resolve('../_output/demo_data');
  13. const fs = require('fs');
  14. const files = fs.readdirSync(folder);
  15. const csvParser = require("csv-parse");
  16. const transform = require('stream-transform');
  17.  
  18. if (!files.length) {
  19. console.log('No files');
  20. process.exit();
  21. }
  22.  
  23. const transformer = transform((row, callback) => {
  24. //Object.keys(row).forEach((key) => { if (row[key] === '') row[key] = null });
  25.  
  26. //const insert = knex.insert(row);
  27.  
  28. //if (file.includes('data-subjects')) {
  29. //insert.into('data_subject');
  30. // }
  31.  
  32. /* if (file.includes('repos')) {
  33. insert.into('repository');
  34. }
  35.  
  36. if (file.includes('repo_types')) {
  37. insert.into('repository_type');
  38. }*/
  39.  
  40. // insert.then(() => {
  41. callback();
  42. //});
  43. });
  44.  
  45. const readFilesPromises = files.map((file) => {
  46. return new Promise((resolve, reject) => {
  47. fs.createReadStream(folder + '/'+ file)
  48. .pipe(csvParser({ columns: true }))
  49. .pipe(transformer)
  50. .on('finish', () => { console.log("FINISH READ " + file); resolve() })
  51. .on('error', (e) => { console.log("ERROR READ " + file); reject(e) });
  52. })
  53. });
  54.  
  55. Promise.all(readFilesPromises).then(() => {
  56. console.log('Complete');
  57. process.exit();
  58. }).catch((err) => {
  59. console.error(err);
  60. process.exit();
  61. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement