3.0.0 • Published 9 years ago

panthera-mysql-adapter v3.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

panthera-mysql-adapter

npm Build Status Coverage Dependency Status Supported Node.js version MIT licensed

MySQL database adapter middleware for PantheraJS applications, based on mysql2/promise.

Creates a pool of MySQL connections upon instantiation and offers a quick, single-function call to obtain a connection from the pool, execute a MySQL query using the connection, and automatically close the connection when the query has finished executing.

Supports MySQL transactions with a similar, single-function call.

Installation

npm install panthera-mysql-adapter

Usage

const koa = require('koa');
const db = require('panthera-mysql-adapter');

let app = koa();
let options = {
  host: 'host',
  port: 'port'
};
app.use(db(app, options));

app.use(function* (next) {
  let query  = 'SELECT * FROM `table_name` WHERE `id` = :id';
  let params = { id: 1 };

  let result1 = yield this.db.execute(query, params);
  // result1 -> result of SELECT query; ...[0] -> rows, ...[1] -> fields

  let query1  = 'INSERT INTO `table_name` (`name`) VALUES (:one), (:two);';
  let params1 = { one: 'Test1', two: 'Test2' };
  let query2  = 'SELECT * FROM `table_name` WHERE `name` = :name LIMIT 1;';
  let params2 = { name: 'Test1' };

  let result2 = yield this.db.transact([query1, params1], [query2, params2]);
  // result2[0] -> results of INSERT query; ...[0] -> rows, ...[1] -> fields
  // result2[1] -> results of SELECT query; ...[0] -> rows, ...[1] -> fields

  yield* next;
});

Configuration options

db accepts all connection pool options supported by mysql2 and by default provides the bluebird library as mysql2/promise's Promise implementation.

3.0.0

9 years ago

2.2.2

9 years ago

2.2.1

9 years ago

2.2.0

9 years ago

2.1.0

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

0.1.0

9 years ago