qq_bot/sqlite3/gorm.go
2025-07-05 15:46:36 +08:00

43 lines
742 B
Go

package sqlite3
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
var db *gorm.DB
func InitGormDB() {
var err error
db, err = gorm.Open(sqlite.Open("data.db"), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
}
func GetGormDB() *gorm.DB {
return db
}
// TryCreateTable 使用GORM执行原始SQL创建表语句
func TryCreateTable(query string) error {
return db.Exec(query).Error
}
// AutoMigrate 使用GORM的自动迁移功能
func AutoMigrate(models ...interface{}) error {
return db.AutoMigrate(models...)
}
// GetGormTx 获取GORM事务
func GetGormTx() *gorm.DB {
return db.Begin()
}
// CloseDB 关闭数据库连接
func CloseDB() {
if sqlDB, err := db.DB(); err == nil {
sqlDB.Close()
}
}