-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
71 lines (60 loc) · 1.92 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
var mysql = require('mysql');
var redis = require("redis"),
client_redis = redis.createClient();
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "root",
database:"wilayah_ktp"
});
const Keyv = require('keyv');
const keyv = new Keyv('redis://@localhost:6379', { namespace: 'wilayah_2018' });
const { Client } = require('pg');
const client_pg = new Client({
user: 'postgres',
host: 'localhost',
database: 'wilayah_2018',
password: 'postgres',
port: 5432,
});
client_pg.connect();
client_redis.on("error", function (err) {
console.log("Error " + err);
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM wilayah_2018", function (err, result, fields) {
if (err) throw err;
async function setData() {
var prov='';
var kec='';
keyv.on('error', err => console.log('Connection Error', err));
for (i of result) {
var kode=i.kode;
var split = kode.split(".");
if (split.length == 1) {
prov = i.nama;
}
if (split.length == 3) {
var lowernama = prov + ' - ' + i.nama;
var nama = lowernama.toUpperCase();
var kdwilayah = split[0] + split[1] + split[2];
// iNSERT to REDiS
await keyv.set(kdwilayah, nama);
// iNSERT to POSTGRESQL
const query = 'INSERT INTO wilayah_2018 (kode, nama) VALUES($1, $2) RETURNING *';
const values = [kdwilayah, nama];
client_pg.query(query, values, (err, result) => {
console.log('row inserted');
if (err) {
console.log(err.stack);
} else {
console.log(result.rows[0]);
}
});
}
}
}
setData();
});
});