소스 검색

修改bug

yjp 11 달 전
부모
커밋
f9ba4f37a2
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      framework/core/infrastructure/database/database.go

+ 8 - 0
framework/core/infrastructure/database/database.go

@@ -78,11 +78,19 @@ func Transaction(executor Executor, txFunc func(tx Executor) error) error {
 	switch e := executor.(type) {
 	case *operations.Operations:
 		tx := e.BeginTransaction()
+
+		defer func() {
+			if r := recover(); r != nil {
+				tx.RollbackTransaction()
+			}
+		}()
+
 		err := txFunc(tx)
 		if err != nil {
 			tx.RollbackTransaction()
 			return err
 		}
+
 		tx.CommitTransaction()
 	default:
 		return nil