-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopyDataFromServerToServer.js
More file actions
51 lines (36 loc) · 1.34 KB
/
copyDataFromServerToServer.js
File metadata and controls
51 lines (36 loc) · 1.34 KB
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
var mysql = require("mysql");
function getInsertSql() {
let user = "<user>";
let password = "<password>";
let host = "<host>";
let database = "<database>";
let destinationDatabase = "<destinationDatabase>";
let session = mysql.getSession(`${user}:${password}@${host}?ssl-mode=disabled`);
session.runSql(`USE ${database}`);
let dbIdSql = `SELECT db_id FROM ${database}.database_info WHERE status IN (1, 2, 3, 5)`;
let dbIdResult = session.runSql(dbIdSql);
let dbIdRows = dbIdResult.fetchAll();
let valueSql = "";
for (let i = 0; i < dbIdRows.length; ++i) {
let dbId = dbIdRows[i]['db_id'];
valueSql += `('${dbId}', NOW()),`;
}
let valueSqlWithoutTrailingComma = valueSql.substring(0, valueSql.length - 1);
let insertSql = `INSERT INTO ${destinationDatabase}.database_audit VALUES`
+ ` ${valueSqlWithoutTrailingComma}`
+ ` ON DUPLICATE KEY UPDATE last_indexed_at = NOW()`;
session.close();
return insertSql;
}
function executeInsertSql(insertSql) {
let user = "<user>";
let password = "<password>";
let host = "<host>";
let destinationDatabase = "<destinationDatabase>";
let session = mysql.getSession(`${user}:${password}@${host}?ssl-mode=disabled`);
session.runSql(`USE ${destinationDatabase}`);
let insertResult = session.runSql(insertSql);
session.close();
}
var insertSql = getInsertSql();
executeInsertSql(insertSql);