db.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 mgoConf MgoConf
  37. if err := gcfg.Instance().MustGet(gctx.New(), "databases.mogLog").Scan(&mgoConf); err == nil {
  38. Mgo_Log = &mongodb.MongodbSim{
  39. MongodbAddr: mgoConf.Address,
  40. Size: mgoConf.Size,
  41. DbName: mgoConf.DbName,
  42. ReplSet: mgoConf.ReplSet,
  43. UserName: mgoConf.UserName,
  44. Password: mgoConf.Password,
  45. }
  46. Mgo_Log.InitPool()
  47. log.Printf("初始化 mongodb log 完成 %+v\n", mgoConf)
  48. }
  49. if err := gcfg.Instance().MustGet(gctx.New(), "databases.mongodb").Scan(&mgoConf); err == nil {
  50. Mgo = &mongodb.MongodbSim{
  51. MongodbAddr: mgoConf.Address,
  52. Size: mgoConf.Size,
  53. DbName: mgoConf.DbName,
  54. ReplSet: mgoConf.ReplSet,
  55. UserName: mgoConf.UserName,
  56. Password: mgoConf.Password,
  57. }
  58. Mgo.InitPool()
  59. log.Printf("初始化 mongodb 完成 %+v\n", mgoConf)
  60. }
  61. var mysqlConf MysqlConf
  62. if err := gcfg.Instance().MustGet(gctx.New(), "databases.mysql").Scan(&mysqlConf); err == nil {
  63. if mysqlConf.Address != "" {
  64. log.Println("--初始化 mysql--")
  65. Mysql = &mysql.Mysql{
  66. Address: mysqlConf.Address,
  67. UserName: mysqlConf.UserName,
  68. PassWord: mysqlConf.PassWord,
  69. DBName: mysqlConf.DbName,
  70. MaxOpenConns: mysqlConf.MaxOpenConns,
  71. MaxIdleConns: mysqlConf.MaxIdleConns,
  72. }
  73. Mysql.Init()
  74. }
  75. }
  76. }