db.go 3.2 KB

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