123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package upgrade
- import (
- "fmt"
- "github.com/xinliangnote/go-gin-api/configs"
- "github.com/xinliangnote/go-gin-api/internal/pkg/core"
- )
- type upgradeViewResponse struct {
- LockFile string `json:"lock_file"`
- List []upgradeViewData `json:"list"`
- }
- type upgradeViewData struct {
- TableName string `json:"table_name"` // 表名称
- IsHave int32 `json:"is_have"` // 是否已存在 1=存在 -1=不存在
- }
- var tableList = []string{"authorized", "authorized_api", "admin", "menu", "menu_action", "admin_menu", "cron_task"}
- func (h *handler) UpgradeView() core.HandlerFunc {
- return func(c core.Context) {
- type tableInfo struct {
- Name string // name
- Comment string // comment
- }
- var tableCollect []tableInfo
- mysqlConf := configs.Get().MySQL.Read
- sqlTables := fmt.Sprintf("SELECT `table_name`,`table_comment` FROM `information_schema`.`tables` WHERE `table_schema`= '%s'", mysqlConf.Name)
- rows, err := h.db.GetDbR().Raw(sqlTables).Rows()
- if err != nil {
- c.HTML("upgrade_view", tableCollect)
- return
- }
- defer rows.Close()
- for rows.Next() {
- var info tableInfo
- err = rows.Scan(&info.Name, &info.Comment)
- if err != nil {
- fmt.Printf("execute query tables action error,had ignored, detail is [%v]\n", err.Error())
- continue
- }
- tableCollect = append(tableCollect, info)
- }
- tableData := make([]upgradeViewData, len(tableList))
- for k, v := range tableList {
- data := upgradeViewData{
- TableName: v,
- IsHave: -1,
- }
- tableData[k] = data
- }
- for k, v := range tableData {
- for _, haveV := range tableCollect {
- if haveV.Name == v.TableName {
- tableData[k].IsHave = 1
- }
- }
- }
- obj := new(upgradeViewResponse)
- obj.List = tableData
- obj.LockFile = configs.ProjectInstallMark
- c.HTML("upgrade_view", obj)
- }
- }
|