/core/dbUtil/dbUtil.go

https://github.com/hacklcx/HFish · Go · 38 lines · 30 code · 8 blank · 0 comment · 9 complexity · 0e9c313aaac2a86d3d3dca23660ef646 MD5 · raw file

  1. package dbUtil
  2. import (
  3. _ "github.com/go-sql-driver/mysql"
  4. _ "github.com/mattn/go-sqlite3"
  5. "HFish/utils/conf"
  6. "HFish/utils/log"
  7. "github.com/gohouse/gorose"
  8. )
  9. var engin *gorose.Engin
  10. func init() {
  11. var err error
  12. dbType := conf.Get("admin", "db_type")
  13. dbStr := conf.Get("admin", "db_str")
  14. dbMaxOpen := conf.GetInt("admin", "db_max_open")
  15. dbMaxIdle := conf.GetInt("admin", "db_max_idle")
  16. if dbType == "sqlite" {
  17. engin, err = gorose.Open(&gorose.Config{Driver: "sqlite3", Dsn: dbStr, SetMaxOpenConns: dbMaxOpen, SetMaxIdleConns: dbMaxIdle})
  18. if err != nil {
  19. log.Pr("HFish", "127.0.0.1", "连接 Sqlite 数据库失败", err)
  20. }
  21. } else if dbType == "mysql" {
  22. engin, err = gorose.Open(&gorose.Config{Driver: "mysql", Dsn: dbStr, SetMaxOpenConns: dbMaxOpen, SetMaxIdleConns: dbMaxIdle})
  23. if err != nil {
  24. log.Pr("HFish", "127.0.0.1", "连接 Mysql 数据库失败", err)
  25. }
  26. }
  27. }
  28. func DB() gorose.IOrm {
  29. return engin.NewOrm()
  30. }