GithubHelp home page GithubHelp logo

node-promise-mysql's Introduction

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(poolOptions)

This will return a the promise of a pool object.

Parameters

poolOptions object: A poolOptions object

Return value

A Bluebird Promise that resolves to a pool object

mysql.createPoolCluster(poolClusterOptions)

This will return a the promise of a poolCluster object.

Parameters

poolClusterOptions object: A poolClusterOptions object

Return value

A Bluebird Promise that resolves to a poolCluster 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.

poolOptions object

In addition to the pool 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.

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.

Pool object methods

pool.getConnection: Get a poolConnection from 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 pool object. See mysqljs/mysql documentation for events that may be listened for.

poolConnection object methods

In addition to the methods in the connection object, poolConnections also has the following method:

poolConnection.release: Release a connection back to the pool. See mysqljs/mysql documentation

poolClusterOptions object

The options used to create a pool cluster. See mysqljs/mysql documentation

poolCluster object methods

poolCluster.add: Adds a pool configuration. See mysqljs/mysql documentation

poolCluster.remove: Removes pool configurations. See mysqljs/mysql documentation

poolCluster.getConnection: Get a poolConnection from the pool cluster. See mysqljs/mysql documentation

poolCluster.of: Get a pool from the pool cluster. See mysqljs/mysql documentation

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

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

Upgrading from v3 to v4

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.

Upgrading from v4 to v5

The pool.releaseConnection has been removed, please use poolConnection.release instead.

node-promise-mysql's People

Contributors

codefoodpixels avatar move-zig avatar greenkeeper[bot] avatar addaleax avatar mirfilip avatar tomsaleeba avatar dependabot[bot] avatar pdaether avatar greenkeeperio-bot avatar maximelkin avatar reggino avatar philfontaine avatar nathan818fr avatar michaelfig avatar mattzygowicz-nm avatar bfncs avatar gritsenko-konstantin avatar g07cha avatar retrocraft avatar davewelsh avatar daleljefferson avatar avivshafir avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.