package model

import (
	"fmt"
	"github.com/spf13/viper"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

func init() {
	host := viper.GetString("mysql.host")
	port := viper.GetString("mysql.port")
	database := viper.GetString("mysql.database")
	username := viper.GetString("mysql.username")
	password := viper.GetString("mysql.password")
	charset := viper.GetString("mysql.charset")
	dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true",
		username,
		password,
		host,
		port,
		database,
		charset)
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err.Error())
	}
	db.AutoMigrate(User{})
	db.AutoMigrate(Category{})
	db.AutoMigrate(Pic{})
	db.AutoMigrate(Appraise{})
	db.AutoMigrate(GoodsSurface{})
	db.AutoMigrate(Goods{})
	db.AutoMigrate(Relation{})
	db.AutoMigrate(Order{})
	db.AutoMigrate(CategoryOfGoods{})
}