42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package gormdb
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
"github.com/astaxie/beego"
|
|
"github.com/jinzhu/gorm"
|
|
)
|
|
|
|
var (
|
|
dbStr string
|
|
)
|
|
|
|
func Init() {
|
|
dbStr = beego.AppConfig.String("dbConnectStr")
|
|
AutoMigrate()
|
|
// globals.SugarLogger.Debug("fuck")
|
|
}
|
|
|
|
func GetDB() *gorm.DB {
|
|
db, err := gorm.Open("mysql", dbStr)
|
|
if err == nil {
|
|
return db
|
|
}
|
|
panic(fmt.Sprintf("AutoMigrate failed with error:%v", err))
|
|
}
|
|
|
|
func AutoMigrate() {
|
|
db := GetDB()
|
|
db.SingularTable(true)
|
|
|
|
// db.DropTableIfExists(&model.Place{})
|
|
// db.DropTableIfExists(&model.Store{}, &model.StoreSub{}, &model.StoreMap{})
|
|
// db.DropTableIfExists(&model.SkuCategory{}, &model.StoreSkuCategoryMap{}, &model.SkuName{}, &model.Sku{}, &model.SkuNamePlaceBind{}, &model.StoreSkuBind{})
|
|
|
|
db.AutoMigrate(&model.Place{})
|
|
db.AutoMigrate(&model.Store{}, &model.StoreSub{}, &model.StoreMap{})
|
|
db.AutoMigrate(&model.StoreSkuCategoryMap{}, &model.SkuName{}, &model.Sku{}, &model.SkuNamePlaceBind{}, &model.StoreSkuBind{})
|
|
db.Set("gorm:table_options", "CHARSET=utf8mb4").AutoMigrate(&model.SkuCategory{})
|
|
}
|