-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathimport.js
More file actions
22 lines (18 loc) · 667 Bytes
/
Copy pathimport.js
File metadata and controls
22 lines (18 loc) · 667 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const fs = require('fs');
const split = require('split2');
const Sqlite3 = require('better-sqlite3');
const parser = require('./src/tsvParseStream');
const importer = require('./src/dbImportStream');
const lookup = require('./src/placeholderLookup');
// delete data if one already exists with the same name
const dbfile = process.env.DB_FILENAME || 'lastline.db';
fs.existsSync(dbfile) && fs.unlinkSync(dbfile)
// connect and setup database
const db = new Sqlite3(dbfile);
// enable unsafe mode (so we can use JOURNAL_MODE=OFF)
db.unsafeMode(true);
process.stdin
.pipe(split())
.pipe(parser())
.pipe(importer(db))
.on('finish', () => lookup(db));