videoplayer/dao/db.go

118 lines
2.8 KiB
Go
Raw Normal View History

package dao
import (
"fmt"
"gorm.io/driver/mysql"
2024-09-22 13:59:33 +08:00
"gorm.io/driver/postgres"
"gorm.io/gorm"
"videoplayer/proto"
)
var DB *gorm.DB
2024-08-02 10:30:41 +08:00
func Init() error {
2024-09-22 13:59:33 +08:00
var db *gorm.DB
var err error
var dsn string
if proto.Config.DB == 0 {
dsn = proto.Config.MYSQL_DSN
db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
} else if proto.Config.DB == 1 {
dsn = proto.Config.PG_DSN
db, err = gorm.Open(postgres.Open(dsn), &gorm.Config{})
}
if err != nil {
panic("failed to connect database")
return err
}
err = db.AutoMigrate(&User{})
if err != nil {
fmt.Println("user table:", err)
2024-08-02 10:30:41 +08:00
return err
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
2024-06-09 14:22:54 +08:00
err = db.AutoMigrate(&Video{})
if err != nil {
fmt.Println("video table:", err)
2024-08-02 10:30:41 +08:00
return err
2024-06-09 14:22:54 +08:00
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
err = db.AutoMigrate(&Device{})
if err != nil {
fmt.Println("device table:", err)
2024-08-02 10:30:41 +08:00
return err
2024-06-09 14:22:54 +08:00
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
err = db.AutoMigrate(&Logger{})
if err != nil {
fmt.Println("logger table:", err)
2024-08-02 10:30:41 +08:00
return err
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
2024-07-05 16:55:57 +08:00
err = db.AutoMigrate(&CID{})
if err != nil {
fmt.Println("cid table:", err)
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
err = db.AutoMigrate(&CIDRunLog{})
if err != nil {
fmt.Println("cidrunlog table:", err)
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
2024-08-02 09:47:33 +08:00
err = db.AutoMigrate(&Message{})
if err != nil {
fmt.Println("message table:", err)
2024-08-02 10:30:41 +08:00
}
2024-08-30 11:51:31 +08:00
err = db.AutoMigrate(&File{})
if err != nil {
fmt.Println("file table:", err)
}
2024-08-02 10:30:41 +08:00
err = db.AutoMigrate(&Group{})
if err != nil {
fmt.Println("usergroup table:", err)
}
err = db.AutoMigrate(&GroupUser{})
if err != nil {
fmt.Println("groupuser table:", err)
return err
}
2024-12-27 19:33:59 +08:00
err = db.AutoMigrate(&File{})
if err != nil {
fmt.Println("file table:", err)
return err
}
err = db.AutoMigrate(&ConfigFile{})
if err != nil {
fmt.Println("config file table:", err)
return err
}
err = db.AutoMigrate(&FileAuth{})
if err != nil {
fmt.Println("file auth table:", err)
return err
}
2024-08-02 10:30:41 +08:00
err = db.AutoMigrate(&Friend{})
if err != nil {
fmt.Println("friend table:", err)
}
2025-02-22 14:44:26 +08:00
err = db.AutoMigrate(&Shell{})
if err != nil {
fmt.Println("shell table:", err)
}
DB = db
2024-08-02 10:30:41 +08:00
return err
}
func Close() {
sqlDB, err := DB.DB()
if err != nil {
panic("failed to connect database")
}
sqlDB.Close()
}