Re-migrate code

This commit is contained in:
2026-03-02 10:05:12 +08:00
parent d1e6f15745
commit 51025195a5
7 changed files with 177 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import (
"os"
"path/filepath"
"golang.org/x/crypto/bcrypt"
"gorm.io/driver/postgres"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
@@ -118,4 +119,49 @@ func AutoMigrate() {
}
logger.Info("数据库迁移成功")
// 创建默认管理员用户
seedAdminUser()
}
// seedAdminUser 创建默认管理员用户
func seedAdminUser() {
var count int64
DB.Model(&models.User{}).Count(&count)
if count > 0 {
return
}
// 默认管理员账号
adminUsername := "admin"
adminPassword := "Beifan@2026"
adminName := "管理员"
adminEmail := "admin@example.com"
// 加密密码
hashedPassword, err := bcrypt.GenerateFromPassword([]byte(adminPassword), bcrypt.DefaultCost)
if err != nil {
logger.Warn("管理员密码加密失败", logger.Err(err))
return
}
admin := models.User{
Username: adminUsername,
Password: string(hashedPassword),
Name: adminName,
Email: adminEmail,
Role: "admin",
}
if err := DB.Create(&admin).Error; err != nil {
logger.Warn("创建默认管理员用户失败", logger.Err(err))
return
}
logger.Info("已创建默认管理员用户",
logger.String("username", adminUsername),
logger.String("password", adminPassword),
logger.String("role", "admin"),
)
}