Documentation

Promise-mysql

Build Status Greenkeeper badge

Promise-mysql is a wrapper for mysqljs/mysql that wraps function calls with Bluebird promises.

API

mysql.createConnection(connectionOptions)

This will return a the promise of a connection object.

Parameters

connectionOptions object: A connectionOptions object

Return value

A Bluebird Promise that resolves to a connection object

mysql.createPool(connectionOptions)

This will return a the promise of a pool object.

Parameters

connectionOptions object: A connectionOptions object

Return value

A Bluebird Promise that resolves to a pool object

connectionOptions object

In addition to the connection options in mysqljs/mysql, promise-mysql accepts the following:

returnArgumentsArray boolean: If set to true then methods will return an array with the callback arguments from the underlying method (excluding the any errors) and the return value from the call.

mysqlWrapper function: A function that is passed the mysql object so that it can be wrapped with something like the aws-xray-sdk module. This function must either return the wrapped mysql object, return a promise of the wrapped mysql object or call the callback that is passed into the function.

reconnect boolean (default: true): If set to true then the connection will reconnect on the PROTOCOL_CONNECTION_LOST, ECONNRESET and PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR errors.

Function arguments

mysql mysql object: The mysql object

callback(error, success) function: A node-style callback that can be used to pass the wrapped version of the mysql object out of the wrapper function.

Connection object methods

connection.query: Perform a query. See mysqljs/mysql documentation

connection.queryStream: Perform a query, but return the query object for streaming. See mysqljs/mysql documentation

connection.beginTransaction: Begin a transaction. See mysqljs/mysql documentation

connection.commit: Commit a transaction. See mysqljs/mysql documentation

connection.rollback: Roll back a transaction. See mysqljs/mysql documentation

connection.changeUser: Change the current connected user. See mysqljs/mysql documentation

connection.ping: Send a ping to the server. See mysqljs/mysql documentation

connection.end: End the connection. See mysqljs/mysql documentation

connection.destroy: Destroy the connection. See mysqljs/mysql documentation

connection.pause: Pause a connection. See mysqljs/mysql documentation

connection.resume: Resume a connection. See mysqljs/mysql documentation

connection.escape: Escape query values. See mysqljs/mysql documentation

connection.escapeId: Escape query identifiers. See mysqljs/mysql documentation

connection.format: Prepare a query. See mysqljs/mysql documentation

connection.on: Add a listener to the connection object. See mysqljs/mysql documentation for events that may be listened for.

Pool object methods

pool.getConnection: Get a connection from the pool. See mysqljs/mysql documentation

pool.releaseConnection: Release a connection back into the pool. See mysqljs/mysql documentation

pool.query: Get a connection from the pool, run a query and then release it back into the pool. See mysqljs/mysql documentation

pool.end: End all the connections in a pool. See mysqljs/mysql documentation

pool.escape: Escape query values. See mysqljs/mysql documentation

pool.escapeId: Escape query identifiers. See mysqljs/mysql documentation

pool.on: Add a listener to the connection object. See mysqljs/mysql documentation for events that may be listened for.

Upgrading from v3

The main difference is that mysql.createPool now returns a promise. Besides this, the API is the same and you should be able to upgrade straight to v4. The only other difference is the extra options in the connectionOptions object.