github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/sqlx/mysql_logger_driver/transaction.go (about)

     1  package mysql_logger_driver
     2  
     3  import (
     4  	"database/sql/driver"
     5  
     6  	"github.com/fatih/color"
     7  	"github.com/sirupsen/logrus"
     8  )
     9  
    10  type loggingTx struct {
    11  	tx driver.Tx
    12  }
    13  
    14  func (tx *loggingTx) Commit() error {
    15  	if err := tx.tx.Commit(); err != nil {
    16  		logrus.Debugf("failed to commit transaction: %s", err)
    17  		return err
    18  	}
    19  	logrus.Debugf(color.YellowString("=========== Committed Transaction ==========="))
    20  	return nil
    21  }
    22  
    23  func (tx *loggingTx) Rollback() error {
    24  	if err := tx.tx.Rollback(); err != nil {
    25  		logrus.Debugf("failed to rollback transaction: %s", err)
    26  		return err
    27  	}
    28  	logrus.Debugf("=========== Rollback Transaction ===========")
    29  	return nil
    30  }