支持sqlite
This commit is contained in:
@@ -9,46 +9,86 @@ package models
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/astaxie/beego/orm"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
var StartTime int64
|
||||
|
||||
func Init(startTime int64) {
|
||||
StartTime = startTime
|
||||
dbhost := beego.AppConfig.String("db.host")
|
||||
dbport := beego.AppConfig.String("db.port")
|
||||
dbuser := beego.AppConfig.String("db.user")
|
||||
dbpassword := beego.AppConfig.String("db.password")
|
||||
dbname := beego.AppConfig.String("db.name")
|
||||
timezone := beego.AppConfig.String("db.timezone")
|
||||
if dbport == "" {
|
||||
dbport = "3306"
|
||||
dbType := beego.AppConfig.String("db.type")
|
||||
if dbType == "" {
|
||||
dbType = "mysql"
|
||||
}
|
||||
dsn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + dbname + "?charset=utf8"
|
||||
if timezone != "" {
|
||||
dsn = dsn + "&loc=" + url.QueryEscape(timezone)
|
||||
}
|
||||
orm.RegisterDataBase("default", "mysql", dsn)
|
||||
orm.RegisterModel(
|
||||
new(Admin),
|
||||
new(Auth),
|
||||
new(Role),
|
||||
new(RoleAuth),
|
||||
new(ServerGroup),
|
||||
new(TaskServer),
|
||||
new(Ban),
|
||||
new(Group),
|
||||
new(Task),
|
||||
new(TaskLog),
|
||||
new(NotifyTpl),
|
||||
)
|
||||
|
||||
if beego.AppConfig.String("runmode") == "dev" {
|
||||
orm.Debug = true
|
||||
if dbType == "sqlite" {
|
||||
dbpath := beego.AppConfig.String("db.path")
|
||||
if dbpath == "" {
|
||||
dbpath = "./data/ppgo_job.db"
|
||||
}
|
||||
|
||||
dir := filepath.Dir(dbpath)
|
||||
if err := os.MkdirAll(dir, os.ModePerm); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
dsn := dbpath
|
||||
orm.RegisterDataBase("default", "sqlite3", dsn)
|
||||
orm.RegisterModel(
|
||||
new(Admin),
|
||||
new(Auth),
|
||||
new(Role),
|
||||
new(RoleAuth),
|
||||
new(ServerGroup),
|
||||
new(TaskServer),
|
||||
new(Ban),
|
||||
new(Group),
|
||||
new(Task),
|
||||
new(TaskLog),
|
||||
new(NotifyTpl),
|
||||
)
|
||||
|
||||
if beego.AppConfig.String("runmode") == "dev" {
|
||||
orm.Debug = true
|
||||
}
|
||||
} else {
|
||||
dbhost := beego.AppConfig.String("db.host")
|
||||
dbport := beego.AppConfig.String("db.port")
|
||||
dbuser := beego.AppConfig.String("db.user")
|
||||
dbpassword := beego.AppConfig.String("db.password")
|
||||
dbname := beego.AppConfig.String("db.name")
|
||||
timezone := beego.AppConfig.String("db.timezone")
|
||||
if dbport == "" {
|
||||
dbport = "3306"
|
||||
}
|
||||
dsn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + dbname + "?charset=utf8"
|
||||
if timezone != "" {
|
||||
dsn = dsn + "&loc=" + url.QueryEscape(timezone)
|
||||
}
|
||||
orm.RegisterDataBase("default", "mysql", dsn)
|
||||
orm.RegisterModel(
|
||||
new(Admin),
|
||||
new(Auth),
|
||||
new(Role),
|
||||
new(RoleAuth),
|
||||
new(ServerGroup),
|
||||
new(TaskServer),
|
||||
new(Ban),
|
||||
new(Group),
|
||||
new(Task),
|
||||
new(TaskLog),
|
||||
new(NotifyTpl),
|
||||
)
|
||||
|
||||
if beego.AppConfig.String("runmode") == "dev" {
|
||||
orm.Debug = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ package models
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/astaxie/beego/orm"
|
||||
@@ -109,7 +108,7 @@ func TaskGetById(id int) (*Task, error) {
|
||||
return task, nil
|
||||
}
|
||||
|
||||
//修改为逻辑删除
|
||||
// 修改为逻辑删除
|
||||
func TaskDel(id int) (int64, error) {
|
||||
return orm.NewOrm().QueryTable(TableName("task")).Filter("id", id).Update(orm.Params{
|
||||
"status": -1,
|
||||
@@ -118,24 +117,12 @@ func TaskDel(id int) (int64, error) {
|
||||
//return err
|
||||
}
|
||||
|
||||
//运行总次数
|
||||
// 运行总次数
|
||||
func TaskTotalRunNum() (int64, error) {
|
||||
|
||||
res := make(orm.Params)
|
||||
_, err := orm.NewOrm().Raw("select sum(execute_times) as num,task_name from pp_task").RowsToMap(&res, "num", "task_name")
|
||||
|
||||
var total int64
|
||||
err := orm.NewOrm().Raw("SELECT COALESCE(SUM(execute_times), 0) as num FROM " + TableName("task")).QueryRow(&total)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
for k, _ := range res {
|
||||
i64, err := strconv.ParseInt(k, 10, 64)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return i64, nil
|
||||
|
||||
}
|
||||
return 0, nil
|
||||
return total, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user