gracenode-mysql
v0.1.5
Published
mysql module for gracenode framework.
Downloads
16
Readme
Mysql Module
Mysql module for gracenode framework.
This is designed to function within gracenode framework.
How to include it in my project
To add this package as your gracenode module, add the following to your package.json:
"dependencies": {
"gracenode": "",
"gracenode-mysql": ""
}
To use this module in your application, add the following to your gracenode bootstrap code:
var gracenode = require('gracenode');
// this tells gracenode to load the module
gracenode.use('gracenode-mysql');
To access the module:
// the prefix gracenode- will be removed automatically
gracenode.mysql
Access
Configurations
"modules": {
"mysql": {
"configNameOfYourChoice": {
"read": {
"database": "databaseName",
"host": "host or IP address",
"user": "databaseUser",
"password": "databasePassword",
"poolSize": <int optional>,
"options": {} // optional
},
"write": {
"database": "databaseName",
"host": "host or IP address",
"user": "databaseUser",
"password": "databasePassword",
"poolSize": <int optional>
"options": {} // optional
}
}{...}
}
}
Optional Configurations:
gracenode-mysql
supports connection options. To add options, add options
in your configurations.
#####API: create
Returns an instance of MySqlGroup class
MySqlGroup class
getOne
Executes a "select" SQL query and passes a result to callback.
If no result is found, the funtion will throw an error.
var mysql = gracenode.mysql.create('peopleDb');
mysql.getOne('SELECT age, gender FROM people WHERE name = ?', ['bob'], function (error, result) {
if (error) {
throw new Error('nothing found');
}
// do something here
});
getOneFromMaster
Reads from "write-only" database.
getMany
Executes a "select" SQL query and passes results to callback
If no result is found, the function will throw an error.
getManyFromMaster
Reads from "write-only" database.
searchOne
Executes a "select" SQL query and passes a result to callback
No result will NOT throw an error.
searchOneFromMaster
Reads from "write-only" database.
searchMany
Executes a "select" SQL query and passes results to callback
No result will NOT throw an error.
searchManyFromMaster
Reads from "write-only" database.
write
Executes "insert/update/delete/truncate/alter/create/drop/" SQL query
Can NOT be executed if the type is "ro"
transaction
Creates Mysql transaction and allows you to execute transactional SQL queries in taskCallback.
Commit will be executed automatically on successful execution of taskCallback
An error in taskCallback will cause auto-rollback and ends the transaction.
Can NOT be executed if the type is "ro"
var mysql = gracenode.mysql.create('animalDb');
mysql.transaction(function (transactionMysql, finishCallback) {
transactionMysql.write('INSERT INTO animal (name, species) VALUES(?, ?)', ['dog', 'knine'], function (error, res) {
if (error) {
return finishCallback(error);
}
transactionMysql.write('INSERT INTO food (animalName, amount) VALUES(?, ?)', ['dog', 10], function (error, res) {
if (error) {
return finishCallback(error);
}
// taskCallback is done. now move forward
finishCallback();
});
});
},
function (error) {
if (error) {
throw new Error(error);
}
// All done and committed
});
placeHolder
Creates and returns an array of ? based on params given.
var mysql = gracenode.create('people');
var params = ['jenny', 'ben', 'krista', 'ken'];
mysql.searchMany('SELECT * FROM people WHERE name IN (' + mylsq.placeHolder(params) + ')', params, function (error, res) {
if (error) {
throw new Error(error);
}
// do something here
});