1 Star 1 Fork 1

ideadawn/dbvm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
log.go 1.00 KB
一键复制 编辑 原始数据 按行查看 历史
zora 提交于 2022-08-15 10:29 . 增加强制部署某些版本的功能
package mysql
import (
"database/sql"
"fmt"
"gitee.com/ideadawn/dbvm/manager"
)
// ListLogs 获取版本更新历史
func (m *MySQL) ListLogs() (logs []*manager.Log, err error) {
if m == nil || m.db == nil {
return nil, errConnection
}
if m.table == `` {
return nil, errTableNotInit
}
var lastID int64
limit := 1000
query := "SELECT `id`,`name`,`time`,`status` FROM `" +
m.table +
"` WHERE `id` > ? ORDER BY `id` ASC LIMIT ?"
for {
count := 0
for tries := 0; tries < retry; tries++ {
rows, err := m.db.Query(query, lastID, limit)
if err != nil {
if err == sql.ErrNoRows {
break
}
fmt.Println(`Query Logs:`, err)
continue
}
for rows.Next() {
log := &manager.Log{}
err := rows.Scan(&log.ID, &log.Name, &log.Time, &log.Status)
if err != nil {
fmt.Println(`Scan Logs:`, err)
continue
}
if log.ID > 0 {
count++
lastID = log.ID
logs = append(logs, log)
}
}
break
}
if count < limit {
break
}
}
return
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ideadawn/dbvm.git
git@gitee.com:ideadawn/dbvm.git
ideadawn
dbvm
dbvm
v0.2.5

搜索帮助