db.go 2.7 KB

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