Registry /
database / sails-mysql-transactions
Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
default
✓ const MySQLTransactions = require('sails-mysql-transactions');
✗ import MySQLTransactions from 'sails-mysql-transactions';
Package uses CommonJS; no ES default export.
adapter
✓ module.exports = { adapters: { 'sails-mysql-transactions': require('sails-mysql-transactions') } };
✗ module.exports = { adapters: { 'sails-mysql-transactions': 'sails-mysql-transactions' } }
Adapter must be an object, not a string.
N/A (config)
✓ // config/models.js
module.exports.models = {
connection: 'someMysqlTransactionsConnection',
migrate: 'safe'
};
Transactions are initiated via model methods, not direct import. Use Waterline's model.transaction() after setup.
Shows how to set up the adapter in Sails.js connections and use beginTransaction/commit/rollback on a Waterline model.
// Install: npm install sails-mysql-transactions sails-mysql
// config/connections.js
module.exports.connections = {
someMysqlTransactions: {
adapter: 'sails-mysql-transactions',
host: 'localhost',
user: 'root',
password: process.env.DB_PASSWORD ?? '',
database: 'test',
// replication: { read: [{ host: 'slave', user: 'root', password: '...', database: 'test' }] }
}
};
// In a controller
User.beginTransaction(function(err, transaction) {
if (err) { /* handle error */ }
User.create({ name: 'Alice' }).usingConnection(transaction.connection).exec(function(err, user) {
if (err) { return transaction.rollback(function() { /* error handling */ }); }
transaction.commit(function(err) {
if (err) { /* rollback */ }
});
});
});
Errors
Common errors & fixes
Error: `require()` of ES Module <path>/node_modules/sails-mysql-transactions/index.js from <path>/node_modules/sails-mysql-transactions/... not supported
Package is CommonJS but required from an ESM context or vice versa; or Node.js version mismatch.
fixUse require() in a CommonJS file or set type: 'commonjs' in package.json.
Error: `usingConnection` is not a function
Attempted to use .usingConnection() on a model method without a transaction object with a connection property.
fixCall model.beginTransaction() first and pass the returned transaction's connection to usingConnection().
Error: `transaction.rollback` is not a function
Using an older version where rollback was not yet implemented; or the transaction object is malformed.
fixUpgrade to >=0.9.0 and ensure beginTransaction returns a valid transaction object.
Error: connect ECONNREFUSED 127.0.0.1:3306
MySQL server not running or connection config wrong (host, port, credentials).
fixStart MySQL service and verify connection config in config/connections.js.
Audit
Dependencies
sails-mysqlrequiredExtends sails-mysql adapter; must be installed alongside