mirror of
https://github.com/jwinterm/nodejs-pool.git
synced 2026-10-17 05:21:27 +02:00
Moving sql_sync to async each
Updated SQL_MIGRATIONS to pool.
This commit is contained in:
+1
-1
@@ -31,5 +31,5 @@ ALTER TABLE pool.xmrtoTxn CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
|
|||||||
2/25/2017
|
2/25/2017
|
||||||
---------
|
---------
|
||||||
```sql
|
```sql
|
||||||
ALTER TABLE monero_live.users ADD enable_email BOOL DEFAULT true NULL;
|
ALTER TABLE pool.users ADD enable_email BOOL DEFAULT true NULL;
|
||||||
```
|
```
|
||||||
+9
-11
@@ -3,6 +3,7 @@ let mysql = require("promise-mysql");
|
|||||||
let fs = require("fs");
|
let fs = require("fs");
|
||||||
let config = fs.readFileSync("../config.json");
|
let config = fs.readFileSync("../config.json");
|
||||||
let sql_schema = fs.readFileSync("config_entries.json");
|
let sql_schema = fs.readFileSync("config_entries.json");
|
||||||
|
let async = require("async");
|
||||||
|
|
||||||
global.config = JSON.parse(config);
|
global.config = JSON.parse(config);
|
||||||
global.mysql = mysql.createPool(global.config.mysql);
|
global.mysql = mysql.createPool(global.config.mysql);
|
||||||
@@ -13,21 +14,18 @@ global.schema = JSON.parse(sql_schema);
|
|||||||
|
|
||||||
let loopCount = 0;
|
let loopCount = 0;
|
||||||
let updatedCount = 0;
|
let updatedCount = 0;
|
||||||
global.schema.forEach(function(entry){
|
async.eachSeries(global.schema, function(entry, callback){
|
||||||
global.mysql.query("SELECT * FROM config WHERE module = ? AND item = ?", [entry.module, entry.item]).then(function(rows){
|
global.mysql.query("SELECT * FROM config WHERE module = ? AND item = ?", [entry.module, entry.item]).then(function(rows){
|
||||||
loopCount += 1;
|
loopCount += 1;
|
||||||
if (rows.length > 0){
|
if (rows.length > 0){
|
||||||
if(loopCount === global.schema.length){
|
callback();
|
||||||
console.log("Updated SQL schema with "+updatedCount+" new rows! Exiting!");
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
updatedCount += 1;
|
updatedCount += 1;
|
||||||
global.mysql.query("INSERT INTO config (module, item, item_value, item_type, Item_desc) VALUES (?, ?, ?, ?, ?)", [entry.module, entry.item, entry.item_value, entry.item_type, entry.Item_desc]);
|
global.mysql.query("INSERT INTO config (module, item, item_value, item_type, Item_desc) VALUES (?, ?, ?, ?, ?)", [entry.module, entry.item, entry.item_value, entry.item_type, entry.Item_desc]).then(function(){
|
||||||
if(loopCount === global.schema.length){
|
callback();
|
||||||
console.log("Updated SQL schema with "+updatedCount+" new rows! Exiting!");
|
});
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
}, function(){
|
||||||
|
console.log("Updated SQL schema with "+updatedCount+" new rows! Exiting!");
|
||||||
|
process.exit();
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user