43 lines
742 B
Go
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()
|
|
}
|
|
}
|