feat: rbac迁移完成,并已部署至dev服务器
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package svc
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
sysModel "sundynix-micro-go/app/system/model"
|
||||
"sundynix-micro-go/app/system/rpc/internal/config"
|
||||
|
||||
@@ -17,20 +19,36 @@ type ServiceContext struct {
|
||||
func NewServiceContext(c config.Config) *ServiceContext {
|
||||
db, err := gorm.Open(mysql.Open(c.DB.DataSource), &gorm.Config{})
|
||||
if err != nil {
|
||||
logx.Errorf("连接数据库失败: %v", err)
|
||||
logx.Errorf("[system-rpc] ❌ 连接数据库失败: %v", err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// 配置连接池,防止高并发耗尽连接
|
||||
sqlDB, err := db.DB()
|
||||
if err != nil {
|
||||
logx.Errorf("[system-rpc] ❌ 获取底层 DB 失败: %v", err)
|
||||
panic(err)
|
||||
}
|
||||
sqlDB.SetMaxOpenConns(100)
|
||||
sqlDB.SetMaxIdleConns(20)
|
||||
sqlDB.SetConnMaxLifetime(time.Hour)
|
||||
logx.Infof("[system-rpc] ✅ 数据库连接成功 | MaxOpen=100 MaxIdle=20")
|
||||
|
||||
// 自动迁移
|
||||
if err := db.AutoMigrate(
|
||||
tables := []interface{}{
|
||||
&sysModel.SundynixClient{},
|
||||
&sysModel.SundynixRole{},
|
||||
&sysModel.SundynixMenu{},
|
||||
&sysModel.SundynixRoleMenu{},
|
||||
&sysModel.SundynixOperationRecord{},
|
||||
&sysModel.SundynixDict{},
|
||||
); err != nil {
|
||||
logx.Errorf("数据库迁移失败: %v", err)
|
||||
&sysModel.SundynixUser{},
|
||||
&sysModel.SundynixUserRole{},
|
||||
}
|
||||
if err := db.AutoMigrate(tables...); err != nil {
|
||||
logx.Errorf("[system-rpc] ⚠️ 数据库迁移失败: %v", err)
|
||||
} else {
|
||||
logx.Infof("[system-rpc] ✅ 数据库迁移完成 | 表数量: %d", len(tables))
|
||||
}
|
||||
|
||||
return &ServiceContext{
|
||||
|
||||
Reference in New Issue
Block a user