db.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package db
  2. import (
  3. "app.yhyue.com/moapp/jybase/mysql"
  4. "github.com/gogf/gf/v2/os/gcfg"
  5. "github.com/gogf/gf/v2/os/gctx"
  6. "log"
  7. "app.yhyue.com/moapp/jybase/mongodb"
  8. "app.yhyue.com/moapp/jybase/redis"
  9. )
  10. var (
  11. Mgo_Log *mongodb.MongodbSim
  12. Mgo *mongodb.MongodbSim
  13. Mysql *mysql.Mysql
  14. )
  15. type MgoConf struct {
  16. Address string
  17. Size int
  18. DbName string
  19. ReplSet string
  20. UserName string
  21. Password string
  22. Collection string
  23. Collection_back string
  24. }
  25. type MysqlConf struct {
  26. DbName string `json:"dbName"`
  27. Address string `json:"address"`
  28. UserName string `json:"userName"`
  29. PassWord string `json:"passWord"`
  30. MaxOpenConns int `json:"maxOpenConns"`
  31. MaxIdleConns int `json:"maxIdleConns"`
  32. }
  33. func init() {
  34. redis.InitRedis(gcfg.Instance().MustGet(gctx.New(), "databases.redis", "").String())
  35. log.Println("初始化 redis")
  36. var mgologConf MgoConf
  37. if err := gcfg.Instance().MustGet(gctx.New(), "databases.mogLog").Scan(&mgologConf); err == nil {
  38. Mgo_Log = &mongodb.MongodbSim{
  39. MongodbAddr: mgologConf.Address,
  40. Size: mgologConf.Size,
  41. DbName: mgologConf.DbName,
  42. ReplSet: mgologConf.ReplSet,
  43. UserName: mgologConf.UserName,
  44. Password: mgologConf.Password,
  45. }
  46. Mgo_Log.InitPool()
  47. log.Printf("初始化 mongodb log 完成 %+v\n", mgologConf)
  48. }
  49. var mgoConf MgoConf
  50. if err := gcfg.Instance().MustGet(gctx.New(), "databases.mongodb").Scan(&mgoConf); err == nil {
  51. Mgo = &mongodb.MongodbSim{
  52. MongodbAddr: mgoConf.Address,
  53. Size: mgoConf.Size,
  54. DbName: mgoConf.DbName,
  55. ReplSet: mgoConf.ReplSet,
  56. UserName: mgoConf.UserName,
  57. Password: mgoConf.Password,
  58. }
  59. Mgo.InitPool()
  60. log.Printf("初始化 mongodb 完成 %+v\n", mgoConf)
  61. }
  62. var mysqlConf MysqlConf
  63. if err := gcfg.Instance().MustGet(gctx.New(), "databases.mysql").Scan(&mysqlConf); err == nil {
  64. if mysqlConf.Address != "" {
  65. log.Println("--初始化 mysql--")
  66. Mysql = &mysql.Mysql{
  67. Address: mysqlConf.Address,
  68. UserName: mysqlConf.UserName,
  69. PassWord: mysqlConf.PassWord,
  70. DBName: mysqlConf.DbName,
  71. MaxOpenConns: mysqlConf.MaxOpenConns,
  72. MaxIdleConns: mysqlConf.MaxIdleConns,
  73. }
  74. Mysql.Init()
  75. }
  76. }
  77. }