node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »


Sails-MySQL Adapter Powered by MySQL

Build Status npm version

MySQL adapter for the Sails framework and Waterline ORM. Allows you to use MySQL via your models to store and retrieve data. Also provides a query() method for a direct interface to execute raw SQL commands.


Install from NPM.

# In your app:
$ npm install sails-mysql

Sails Configuration

Add the mysql config to the config/connections.js file. Basic options:

module.exports.connections = {
  mysql: {
    module    : 'sails-mysql',
    host      : 'localhost',
    port      : 3306,
    user      : 'username',
    password  : 'password',
    database  : 'MySQL Database Name'
    // OR (explicit sets take precedence) 
    module    : 'sails-mysql',
    // Optional 
    charset   : 'utf8',
    collation : 'utf8_swedish_ci'

And then change default model configuration to the config/models.js:

module.exports.models = {
  connection: 'mysql'

Run tests

You can set environment variables to override the default database config for the tests, e.g.:


Default settings are:

  host: process.env.WATERLINE_ADAPTER_TESTS_HOST || 'localhost',
  port: process.env.WATERLINE_ADAPTER_TESTS_PORT || 3306,
  user: process.env.WATERLINE_ADAPTER_TESTS_USER || 'root',
  password: process.env.WATERLINE_ADAPTER_TESTS_PASSWORD || '',
  database: process.env.WATERLINE_ADAPTER_TESTS_DATABASE || 'sails_mysql',
  pool: true,
  connectionLimit: 10,
  waitForConnections: true

More Resources


MIT © 2014 Mike McNeil, Balderdash & contributors

Sails is free and open-source under the MIT License.

See the MySQL Logo Usage Guidelines for more information on our use of the MySQL logo.

image_squidhome@2x.png alpha