package sqlite import ( "database/sql" "sync" orm "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/sqlite" ) var once sync.Once var err error var db *orm.DB func GetDb() *orm.DB { once.Do(func() { db = openPool() }) return db } func CloseDb() { err := db.Close() if err != nil { return } else { panic(err) } } func openPool() *orm.DB { db, err := orm.Open("sqlite3", "./database/vber.db") if err != nil { panic(err) } //db.SingularTable(true) db.DB().SetMaxIdleConns(20) db.DB().SetMaxOpenConns(20) return db } func OpenSQLite() *sql.DB { sqliteDb, err := orm.Open("sqlite3", "./database/vber.db") if err != nil { panic(err) } db := sqliteDb.DB() db.SetMaxIdleConns(20) db.SetMaxOpenConns(20) return db }