Skip to content

Instantly share code, notes, and snippets.

@Avi-E-Koenig
Last active November 14, 2021 14:59
Show Gist options
  • Save Avi-E-Koenig/7a50d1f35b0e61dd8e8c2e527483427f to your computer and use it in GitHub Desktop.
Save Avi-E-Koenig/7a50d1f35b0e61dd8e8c2e527483427f to your computer and use it in GitHub Desktop.
sample sql js snippet
// 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