Skip to content
No description, website, or topics provided.
JavaScript
Branch: master
Clone or download
Latest commit b45391b Oct 8, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
lib
tap-snapshots
test
.gitignore
.npmignore
.travis.yml
LICENSE Initial commit Oct 29, 2014
README.md Update docs Jul 13, 2019
index.d.ts
index.js
package-lock.json
package.json

README.md

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.

You can’t perform that action at this time.