videoplayer/dao/db.go

45 lines
1.2 KiB
Go

package dao
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"videoplayer/proto"
)
var DB *gorm.DB
func Init() {
dsn := proto.MYSQL_DSN
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
err = db.AutoMigrate(&User{})
if err != nil {
fmt.Println("user table:", err)
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
err = db.AutoMigrate(&Video{})
if err != nil {
fmt.Println("video table:", err)
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
err = db.AutoMigrate(&Device{})
if err != nil {
fmt.Println("device table:", err)
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
err = db.AutoMigrate(&Logger{})
if err != nil {
fmt.Println("logger table:", err)
} // 自动迁移,创建表,如果表已经存在,会自动更新表结构,不会删除表,只会创建不存在的表
DB = db
}
func Close() {
sqlDB, err := DB.DB()
if err != nil {
panic("failed to connect database")
}
sqlDB.Close()
}