Last active
November 14, 2021 14:59
-
-
Save Avi-E-Koenig/7a50d1f35b0e61dd8e8c2e527483427f to your computer and use it in GitHub Desktop.
sample sql js snippet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// server.js | |
process | |
.on('unhandledRejection', (reason, p) => { | |
Logger.error('Unhandled Rejection at Promise', { reason, p }); | |
}) | |
.on('uncaughtException', (err) => { | |
Logger.error('Uncaught Exception thrown', err); | |
process.exit(1); | |
}); | |
// make a pool based on user config | |
async function _createPool({ db_id, db_host, db_name, db_user, db_password }) { | |
try { | |
var pool = _DB_POOL_LIST[db_id] | |
if (!pool) { | |
pool = await mysql.createPool({ | |
host: db_host, | |
user: db_user, | |
password: db_password, | |
database: db_name, | |
charset: 'utf8_general_ci', | |
}); | |
_DB_POOL_LIST[db_id] = pool | |
} | |
return pool | |
} catch (err) { | |
Logger.error(err); | |
return null | |
} | |
}; | |
// sample query | |
const createMultipleRecords = async (user, { table, columns, valuesArr }) => { | |
let connection; | |
try { | |
const pool = await getPoolForUserDB(user) | |
connection = await pool.getConnection() | |
const query = `INSERT INTO ?? (??) VALUES ?`; | |
const sql = connection.format(query, [table, columns, valuesArr]) | |
Logger.debug(sql, {}); | |
const result = await connection.query(sql); | |
return { result: result[0] }; | |
} catch (error) { | |
Logger.error(error, error); | |
return { error }; | |
} finally { | |
if (connection?.release) connection.release(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment