gocron/models/migration.go

45 lines
903 B
Go

package models
import (
"errors"
)
// 创建数据库表
type Migration struct{}
func (migration *Migration) Exec(dbName string) error {
if !isDatabaseExist(dbName) {
return errors.New("数据库不存在")
}
setting := new(Setting)
task := new(Task)
tables := []interface{}{
&User{}, task, &DelayTask{}, &TaskLog{}, &Host{}, setting,&LoginLog{},
}
for _, table := range tables {
exist, err:= Db.IsTableExist(table)
if exist {
return errors.New("数据表已存在")
}
if err != nil {
return err
}
err = Db.Sync2(table)
if err != nil {
return err
}
}
setting.InitBasicField()
task.CreateTestTask()
return nil
}
// 创建数据库
func isDatabaseExist(name string) bool {
_, err := Db.Exec("use ?", name)
return err != nil
}