add sqlite
This commit is contained in:
@@ -14,6 +14,8 @@ func DBInit() {
|
||||
dbType := viper.GetString("db_type")
|
||||
if strings.EqualFold(dbType, "postgres") {
|
||||
PostgreSQLInit()
|
||||
} else if strings.EqualFold(dbType, "sqlite") {
|
||||
SqliteInit()
|
||||
} else {
|
||||
MysqlInit()
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"github.com/assimon/luuu/config"
|
||||
"github.com/assimon/luuu/util/log"
|
||||
"github.com/gookit/color"
|
||||
"github.com/spf13/viper"
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
"gorm.io/gorm/schema"
|
||||
)
|
||||
|
||||
// SqliteInit 数据库初始化
|
||||
func SqliteInit() {
|
||||
var err error
|
||||
dbname := viper.GetString("sqlite_database_filename")
|
||||
if len(dbname) == 0 {
|
||||
dbname = ".db"
|
||||
}
|
||||
Mdb, err = gorm.Open(sqlite.Open(dbname), &gorm.Config{
|
||||
NamingStrategy: schema.NamingStrategy{
|
||||
TablePrefix: viper.GetString("sqlite_table_prefix"),
|
||||
SingularTable: true,
|
||||
},
|
||||
Logger: logger.Default.LogMode(logger.Error),
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if config.AppDebug {
|
||||
Mdb = Mdb.Debug()
|
||||
}
|
||||
sqlDB, err := Mdb.DB()
|
||||
if err != nil {
|
||||
color.Red.Printf("[store_db] sqlite get DB,err=%s\n", err)
|
||||
panic(err)
|
||||
}
|
||||
// sqlDB.SetMaxIdleConns(viper.GetInt("sqlite_max_idle_conns"))
|
||||
// sqlDB.SetMaxOpenConns(viper.GetInt("sqlite_max_open_conns"))
|
||||
// sqlDB.SetConnMaxLifetime(time.Hour * time.Duration(viper.GetInt("sqlite_max_life_time")))
|
||||
err = sqlDB.Ping()
|
||||
if err != nil {
|
||||
color.Red.Printf("[store_db] sqlite connDB err:%s", err.Error())
|
||||
panic(err)
|
||||
}
|
||||
log.Sugar.Debug("[store_db] sqlite connDB success")
|
||||
}
|
||||
Reference in New Issue
Block a user