12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- var mysql = require('mysql');
- var config = require('./index')
- var pool = mysql.createPool(config.database);
- var Async = require('async');
- console.log("数据库环境",config.database);
- module.exports = {
-
- transactionHandler: (callback) => {
- pool.getConnection(function(err, connection) {
- if (err) {
- console.log("getConnection error", err);
- return callback(err, null);
- }
- connection.beginTransaction(function(err) {
- if (err) {
- console.log("beginTransaction error", err);
- return callback(err, null);
- }
- console.log("开始执行transaction");
- callback(null, connection);
- })
- });
- },
-
- transactionResultHandler: (err, connection, callback) => {
- if (err) {
- connection.rollback(() => {
- console.log("某事务出错,回滚成功, Error: ", err);
- connection.release();
- });
- return;
- }
- connection.commit(err => {
- if (err) {
- connection.rollback(() => {
- console.log("commit出错,回滚成功, Error: ", err);
- connection.release();
- });
- return;
- }
- connection.release();
- callback();
- });
- },
-
- query: (sql, callback) => {
- pool.getConnection(function(err,connection){
- if(err){
- console.log("db err", err)
- console.log("--------db 连接失败 ----------");
- logger.error("DB CONNECTION ERROR",err);
-
- console.log("--------db 连接失败 error log end ----------");
- }
- connection.beginTransaction(function(err) {
- if(err){
- console.log("db connection error",err);
- callback(err,null);
- }else{
- connection.query(sql,function(qerr,rows){
-
- connection.release();
-
- if (qerr) {
- connection.rollback(function() {
- console.log("sql回滚成功1",qerr)
- callback(qerr,null);
- throw qerr;
- });
- }
- connection.commit(function(err) {
- if (err) {
- connection.rollback(function() {
- console.log("sql回滚成功")
- throw err;
- });
- }
- callback(qerr,rows);
- });
- });
- }
- })
-
- });
- },
- }
|