Compare commits

..

No commits in common. "main" and "v1.0.3" have entirely different histories.
main ... v1.0.3

3 changed files with 5 additions and 9 deletions

View File

@ -1,9 +1,5 @@
# 变更记录 - @go/db
## [1.0.4] - 2026-05-04
### 优化
- **日志增强**:升级 `apigo.cc/go/log` 至 v1.0.1,并重构数据库日志逻辑,利用新版 `log.DB` API 直接支持错误字段和调用栈捕获,提升排障效率。
## [1.0.3] - 2026-05-04
### 新增
- **自动随机 ID (Auto Random ID)**:当表主键或唯一索引字段类型为 `char(8/10/12/14)` 且值为空时,自动填充分布式唯一 ID。

8
DB.go
View File

@ -237,7 +237,7 @@ type dbLogger struct {
}
func (dl *dbLogger) LogError(errStr string) {
dl.logger.DB(dl.config.Type, dl.config.Dsn(), "", nil, 0, errStr)
dl.logger.DBError(errStr, dl.config.Type, dl.config.Dsn(), "", nil, 0)
}
func (dl *dbLogger) LogQuery(query string, args []any, usedTime float32) {
@ -245,7 +245,7 @@ func (dl *dbLogger) LogQuery(query string, args []any, usedTime float32) {
}
func (dl *dbLogger) LogQueryError(errStr string, query string, args []any, usedTime float32) {
dl.logger.DB(dl.config.Type, dl.config.Dsn(), query, args, usedTime, errStr)
dl.logger.DBError(errStr, dl.config.Type, dl.config.Dsn(), query, args, usedTime)
}
var dbConfigs = make(map[string]*Config)
@ -467,7 +467,7 @@ func getDB(name string, logger *log.Logger, useCache bool) *DB {
conn, err := getPool(conf)
if err != nil {
logger.DB(conf.Type, conf.Dsn(), "", nil, 0, err.Error())
logger.DBError(err.Error(), conf.Type, conf.Dsn(), "", nil, 0)
return &DB{conn: nil, QuoteTag: "\"", Error: err}
}
@ -483,7 +483,7 @@ func getDB(name string, logger *log.Logger, useCache bool) *DB {
for _, host := range conf.ReadonlyHosts {
conn, err := getPoolForHost(conf, host)
if err != nil {
logger.DB(conf.Type, conf.Dsn(), "", nil, 0, err.Error())
logger.DBError(err.Error(), conf.Type, conf.Dsn(), "", nil, 0)
} else {
readonlyConnections = append(readonlyConnections, conn)
}

2
go.mod
View File

@ -8,7 +8,7 @@ require (
apigo.cc/go/convert v1.0.4
apigo.cc/go/crypto v1.0.4
apigo.cc/go/id v1.0.4
apigo.cc/go/log v1.0.1
apigo.cc/go/log v1.0.0
apigo.cc/go/rand v1.0.4
apigo.cc/go/safe v1.0.4
apigo.cc/go/shell v1.0.4