@ikoala/node-mysql-promise
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

node-mysql-promise

Node.js MySQL library promise wrapper

Initialization

npm install @ikoala/node-mysql-promise

Usage

const db = require('@ikoala/node-mysql-promise')
const mysqlConfig = {
  "host": "127.0.0.1",
  "user": "root",
  "password": "abc@123",
  "database": "test"
}
db.create('master', mysqlConfig)

const query = async (val) => {
  const sql = 'SELECT NOW(), ?, 1'
  const params = [val]
  const rs = await db.query(sql, params)
  console.log(rs) // 2020-02-01 15:56:00,foo,1
}

query('foo')

Helper Functions

const select = helper.createSelect('table_name', 'primary_key_field');
(async () => {
  await select({ all: true }) // Select all records
  await select(1) // Select primary key id 1
  // Select field `foo` with value `bar`
  await select({ where: {
    foo: 'bar'
  }})
})()

const insert = helper.createInsert('table_name', 'primary_key_field', {
  defaultFields: {
    ctime: () => new Date()
  }
});
(async () => {
  await insert({
    field1: 'foo',
    field2: 'bar'
  }) // foo,bar,[ctime date]
})()

Testing

# Setup DB Connection and Login Credential
export DB_HOST=127.0.0.1
export DB_USER=root
export DB_PASSWORD=abc@123
export DB_VERBOSE=1 # Optional, enable query log

npm run test

Dependencies:

MySQL2 - Node.js MySQL driver

Readme

Keywords

none

Package Sidebar

Install

npm i @ikoala/node-mysql-promise

Weekly Downloads

12

Version

2.0.2

License

ISC

Unpacked Size

3.37 MB

Total Files

20

Last publish

Collaborators

  • ikoala