You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-fly/models/models.go

42 lines
919 B

package models
import (
"fmt"
"github.com/jinzhu/gorm"
"github.com/taoshihan1991/imaptool/config"
"github.com/taoshihan1991/imaptool/tools"
"time"
)
var DB *gorm.DB
type Model struct {
ID uint `gorm:"primary_key" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `sql:"index" json:"deleted_at"`
}
func init() {
mysql := config.CreateMysql()
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local", mysql.Username, mysql.Password, mysql.Server, mysql.Port, mysql.Database)
var err error
DB, err = gorm.Open("mysql", dsn)
if err != nil {
panic("数据库连接失败!")
}
DB.SingularTable(true)
DB.LogMode(true)
DB.SetLogger(tools.Logger())
DB.DB().SetMaxIdleConns(10)
DB.DB().SetMaxOpenConns(100)
InitConfig()
}
func Execute(sql string) {
DB.Exec(sql)
}
func CloseDB() {
defer DB.Close()
}