refactor(db): 增强测试事务支持和保存点管理

- 在 HoTimeDB 中新增测试事务功能,允许在测试模式下使用事务进行操作
- 实现 BeginTestTx 和 RollbackTestTx 方法,支持测试事务的开启和回滚
- 在 Action 方法中集成保存点管理,确保在测试模式下的嵌套事务处理
- 更新 README.md,添加 API 测试框架的相关说明,提升文档完整性
This commit is contained in:
2026-03-14 10:19:57 +08:00
parent fab7931d3c
commit bd20af0c89
12 changed files with 2251 additions and 9 deletions
+6 -2
View File
@@ -61,7 +61,9 @@ func (that *HoTimeDB) queryWithRetry(query string, retried bool, args ...interfa
// 处理参数中的 slice 类型
processedArgs := that.processArgs(args)
if that.Tx != nil {
if that.testTx != nil {
resl, err = that.testTx.Query(query, processedArgs...)
} else if that.Tx != nil {
resl, err = that.Tx.Query(query, processedArgs...)
} else {
resl, err = db.Query(query, processedArgs...)
@@ -117,7 +119,9 @@ func (that *HoTimeDB) execWithRetry(query string, retried bool, args ...interfac
// 处理参数中的 slice 类型
processedArgs := that.processArgs(args)
if that.Tx != nil {
if that.testTx != nil {
resl, e = that.testTx.Exec(query, processedArgs...)
} else if that.Tx != nil {
resl, e = that.Tx.Exec(query, processedArgs...)
} else {
resl, e = that.DB.Exec(query, processedArgs...)