Files
gin-admin/internal/core/initialize/database.go

42 lines
779 B
Go

package initialize
import (
"fmt"
"gin-admin/internal/core/config"
"gin-admin/internal/repository"
"gorm.io/driver/mysql"
"gorm.io/gorm"
systemmodel "gin-admin/internal/model/system"
)
// @Author: yv1ing
// @Author: me@yvling.cn
// @Date: 2025/8/28 14:22
// @Desc: 初始化mysql数据库
func dsn() string {
return fmt.Sprintf(
"%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local",
config.Config.Mysql.Username,
config.Config.Mysql.Password,
config.Config.Mysql.Host,
config.Config.Mysql.Port,
config.Config.Mysql.Database,
)
}
func InitDatabase() error {
db, err := gorm.Open(mysql.Open(dsn()), &gorm.Config{})
if err != nil {
return err
}
err = db.AutoMigrate(
&systemmodel.User{},
)
repository.SetupRepository(db)
return nil
}