@pforth/dbfuncs

1.0.3 • Public • Published

This module lets you get async mysql database pool connections. Also has lots of cool helper query funcs.

Veradaccio

This project should be published in a locally running npm repo. You can do the following:

npm install -g verdaccio

nohup verdaccio --listen 4873

npm set registry http://localhost:4873/

You can also refer to here

Usage

const db=require("dbfuncs");

db.createPoolsFromFile(); // defaults to config.json
OR
db.createPoolsFromFile("config.json", {local: {password:"fred"}});  // Provide a default password of fred for the db "local"
OR
let pool=db.createPool(conName, host, user, password, database)

// If you create a pool called "local" then you can use
let conn=db.getConnLocal();
OR
let conn=db.getConn("local");
OR
let conn=db.getConn(localPool); // If you already got the local pool object from somewhere.
OR
let conn=db.getConn(); // To get the default pool (first one created or explicitly set)

await conn.query("DELETE FROM atable"); // Any query.  Returns a list of rows (dictionaries) if a select
await conn.getRow("SELECT field, field2 FROM hi WHERE id=1"); // Returns a single (or first) row as a dictionary
await conn.get("SELECT field FROM hi WHERE id=1;"); // Get the first field in the first row returned (synonym for getFirstField())
await conn.getField("one", "SELECT one, two FROM three"); // Returns a single field from the first row
await conn.getDictForField("id", "field", "SELECT id, field FROM hi"); // Returns a dictionary of key -> value
await conn.getDict("id", "SELECT id, field, another FROM hi"); // Returns a dictionary of keys -> each row of results.
await conn.getList("name", "SELECT name FROM users"); // Returns a list by taking the value of a single field from each row

await conn.getDictOfLists("nonuniqueId", "saleId", "SELECT userId, saleId FROM sales")
// Returns a dictionary of lists (in this case a list of all the sales for each user)
// If the second arg = null then each list item contains the entire row for that key

await conn.insert("users SET name=?", ["fred"]); // Does a sql insert

db.setDefPool(name); // Explicitly set the default pool to a pool with a different name

Readme

Keywords

Package Sidebar

Install

npm i @pforth/dbfuncs

Weekly Downloads

0

Version

1.0.3

License

ISC

Unpacked Size

12.1 kB

Total Files

3

Last publish

Collaborators

  • pforth