59 lines
1.3 KiB
Go
59 lines
1.3 KiB
Go
package db
|
|
|
|
import (
|
|
"fmt"
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
"log"
|
|
"qnc-server/config"
|
|
"qnc-server/model/model"
|
|
)
|
|
|
|
var DB *gorm.DB
|
|
|
|
func InitGorm() {
|
|
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local",
|
|
config.ConfigData.Database.Username,
|
|
config.ConfigData.Database.Password,
|
|
config.ConfigData.Database.Host,
|
|
config.ConfigData.Database.Port,
|
|
config.ConfigData.Database.DBName,
|
|
)
|
|
var err error
|
|
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
|
if err != nil {
|
|
log.Fatalf("Could not connect to the database: %v", err)
|
|
}
|
|
|
|
if err := DB.AutoMigrate(
|
|
&model.User{},
|
|
&model.Authentication{},
|
|
&model.EvaluateMarriage{},
|
|
&model.Product{},
|
|
&model.PayOrder{},
|
|
&model.EntFeature{},
|
|
&model.Render{},
|
|
&model.CarInsurance{},
|
|
&model.CarMaintenance{},
|
|
&model.CarUnderName{},
|
|
&model.CarInsuranceInfo{},
|
|
&model.CarNewEnergyPower{},
|
|
&model.CarVinCheckInfo{},
|
|
&model.CarPersonCarVerify{},
|
|
&model.CarVehicleTransfer{},
|
|
&model.CarVehicleValuation{},
|
|
&model.CarRender{},
|
|
&model.VerifyRender{},
|
|
&model.VerifyCardName{},
|
|
&model.VerifyPhoneName{},
|
|
&model.VerifySkillCert{},
|
|
&model.VerifyBankCard{},
|
|
&model.GlobalNotification{},
|
|
&model.RenderShadow{},
|
|
&model.Query{},
|
|
); err != nil {
|
|
log.Fatalf("Could not migrate the database: %v", err)
|
|
}
|
|
InitRedis() // 初始化
|
|
}
|