Files
api-proxy/pkg/getway/db/db.go
2023-03-29 02:40:21 +08:00

72 lines
1.2 KiB
Go

package db
import (
"os"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
// 定义User模型
type User struct {
UserID int `gorm:"primaryKey"`
Username string `gorm:"not null"`
Email string `gorm:"not null"`
AvatarURL string
AccessToken string `gorm:"not null"`
}
// 初始化GORM数据库
func initializeDB() (*gorm.DB, error) {
dsn := os.Getenv("MYSQL_DSN")
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
return nil, err
}
return db, nil
}
// 创建用户
func createUser(db *gorm.DB, user *User) error {
result := db.Create(user)
if result.Error != nil {
return result.Error
}
return nil
}
// 根据用户ID查询用户
func getUserByID(db *gorm.DB, userID int) (*User, error) {
var user User
result := db.First(&user, userID)
if result.Error != nil {
return nil, result.Error
}
return &user, nil
}
// 更新用户
func updateUser(db *gorm.DB, user *User) error {
result := db.Save(user)
if result.Error != nil {
return result.Error
}
return nil
}
// 删除用户
func deleteUser(db *gorm.DB, user *User) error {
result := db.Delete(user)
if result.Error != nil {
return result.Error
}
return nil
}