ai-css/models/models.go

43 lines
930 B
Go

package models
import (
"ai-css/common"
"fmt"
"log"
"time"
"github.com/jinzhu/gorm"
)
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 Connect() {
mysql := common.GetMysqlConfig()
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&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 {
log.Println(err)
panic("数据库连接失败!")
}
DB.SingularTable(true)
DB.LogMode(true)
DB.DB().SetMaxIdleConns(10)
DB.DB().SetMaxOpenConns(100)
DB.DB().SetConnMaxLifetime(59 * time.Second)
DB.AutoMigrate(&User{})
}
func Execute(sql string) error {
return DB.Exec(sql).Error
}
func CloseDB() {
defer DB.Close()
}