Registry / database / mysql-utilities

mysql-utilities

JSON →
library1.1.4jsnpmunverified

Utilities for the node-mysql driver (felixge/node-mysql), providing specialized result types (queryRow, queryValue, queryCol, queryHash, queryKeyValue), introspection methods (primary keys, foreign keys, tables, etc.), and SQL autogenerating methods (select, insert, update, upsert, delete, count). Current stable version v1.1.4, maintained on GitHub by Metarhia/Impress team. Key differentiator: extends mysql connection object via mix-ins rather than wrapper classes. Last updated 2018, in maintenance mode.

npm install mysql-utilities
INSTALL
IMPORT
SIG · MYSQL-UTILITIES
M
mysql-utilities
databasejavascriptv1.1.4
harness data pending
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 mysqlUtilities = require('mysql-utilities');
✗ import mysqlUtilities from 'mysql-utilities';
CJS-only package; no ESM or default export. Must use require().
upgrade
✓ mysqlUtilities.upgrade(connection);
✗ connection.upgrade();
upgrade is a static method on the exported object, not on the connection instance.
introspection
✓ mysqlUtilities.introspection(connection);
✗ mysqlUtilities.upgrade(connection, true);
introspection must be called separately; it is not enabled by upgrade() even with options.

Shows how to install, import, attach utilities via upgrade() and introspection(), then use queryRow() and fields().

const mysql = require('mysql'); const mysqlUtilities = require('mysql-utilities'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect(); mysqlUtilities.upgrade(connection); mysqlUtilities.introspection(connection); // Use queryRow to get a single row connection.queryRow('SELECT * FROM users WHERE id = ?', [1], (err, row) => { if (err) throw err; console.log(row); }); // Use introspection to get table fields connection.fields('users', (err, fields) => { if (err) throw err; console.log(fields); }); connection.end();
Debug
Known issues
deprecatedThe 'mysql' package (node-mysql) is itself deprecated. mysql-utilities depends on it and will not work with mysql2.
fix
Use mysql2 for active development; however mysql-utilities is not compatible. Consider using a different ORM or raw mysql2.
affects: >=0.0.0
gotchaMust call mysqlUtilities.upgrade() before using any utility methods; calling introspection() alone does not enable query helpers.
fix
Always call mysqlUtilities.upgrade(connection) before using queryRow, queryValue, etc.
affects: >=0.0.0
gotchaUtility methods like queryRow are added directly to the connection object; TypeScript definitions are not provided, leading to type errors.
fix
Use a // @ts-ignore or manually declare the augmented methods on the Connection interface.
affects: >=0.0.0
breakingBreaking change in v1.0.0: The API changed from using a wrapper to mix-in pattern. Upgrade from v0.x requires code changes.
fix
Update from var mu = require('mysql-utilities'); mu.xxx(connection) to require('mysql-utilities').upgrade(connection);
affects: <1.0.0
Errors
Common errors & fixes
TypeError: connection.queryRow is not a function
Forgot to call mysqlUtilities.upgrade(connection) before using queryRow.
fix
Add mysqlUtilities.upgrade(connection); after creating the connection.
Error: Cannot find module 'mysql'
The peer dependency 'mysql' (node-mysql) is not installed.
fix
Run: npm install mysql
TypeError: mysqlUtilities.introspection is not a function
Using an older version (<1.0.0) where introspection was not separated or mis-imported.
fix
Upgrade to >=1.0.0 and use mysqlUtilities.introspection(connection);
Upgrade
Version history
1.1.4latest on npm
Audit
Dependencies
mysqlrequiredPeer dependency: the utilities mix into instances of mysql (node-mysql) connection objects
Agent activity
7 hits · last 30 days
node
6
Resources
mysql-utilities — npm install mysql-utilities · libregistry