sqlite.go 758 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package sqlite
  2. import (
  3. "database/sql"
  4. "sync"
  5. orm "github.com/jinzhu/gorm"
  6. _ "github.com/jinzhu/gorm/dialects/sqlite"
  7. )
  8. var once sync.Once
  9. var err error
  10. var db *orm.DB
  11. func GetDb() *orm.DB {
  12. once.Do(func() {
  13. db = openPool()
  14. })
  15. return db
  16. }
  17. func CloseDb() {
  18. err := db.Close()
  19. if err != nil {
  20. return
  21. } else {
  22. panic(err)
  23. }
  24. }
  25. func openPool() *orm.DB {
  26. db, err := orm.Open("sqlite3", "./database/vber.db")
  27. if err != nil {
  28. panic(err)
  29. }
  30. //db.SingularTable(true)
  31. db.DB().SetMaxIdleConns(20)
  32. db.DB().SetMaxOpenConns(20)
  33. return db
  34. }
  35. func OpenSQLite() *sql.DB {
  36. sqliteDb, err := orm.Open("sqlite3", "./database/vber.db")
  37. if err != nil {
  38. panic(err)
  39. }
  40. db := sqliteDb.DB()
  41. db.SetMaxIdleConns(20)
  42. db.SetMaxOpenConns(20)
  43. return db
  44. }