自媒体模块初搭建

This commit is contained in:
2025-08-06 19:38:36 +08:00
parent b36ca9967f
commit cbf51aca69
21 changed files with 11430 additions and 0 deletions

7
weMedia/biz/dal/init.go Normal file
View File

@@ -0,0 +1,7 @@
package dal
import "weMedia/biz/dal/mysql"
func Init() {
mysql.Init()
}

View File

@@ -0,0 +1,47 @@
package mysql
import (
"fmt"
"github.com/cloudwego/hertz/pkg/common/hlog"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"time"
"weMedia/biz/model"
"weMedia/config"
)
var dsn = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
config.DbUser,
config.DbPassWord,
config.DbHost,
config.DbPort,
config.DbName,
)
var DB *gorm.DB
func Init() {
var err error
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
SkipDefaultTransaction: true,
PrepareStmt: true,
Logger: logger.Default.LogMode(logger.Info),
})
if err != nil {
hlog.Error(err.Error())
panic(err)
}
// 自动迁移
err = DB.AutoMigrate(model.Moment{}, model.MomentFile{}, model.MomentLike{}, model.MomentComment{})
if err != nil {
hlog.Error("AutoMigrate failed: " + err.Error())
return
}
// 连接池配置
sqlDB, _ := DB.DB()
sqlDB.SetMaxIdleConns(10)
sqlDB.SetMaxOpenConns(100)
sqlDB.SetConnMaxLifetime(time.Hour) // 建议设置为 1h 或更低
}

View File

@@ -0,0 +1 @@
package mysql