db.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package models
  2. import (
  3. "eta/eta_chart_lib/models/data_manage"
  4. "eta/eta_chart_lib/models/data_manage/future_good"
  5. "eta/eta_chart_lib/utils"
  6. _ "github.com/go-sql-driver/mysql"
  7. "time"
  8. "github.com/beego/beego/v2/client/orm"
  9. )
  10. func init() {
  11. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  12. orm.SetMaxIdleConns("default", 50)
  13. orm.SetMaxOpenConns("default", 100)
  14. db, _ := orm.GetDB("default")
  15. db.SetConnMaxLifetime(10 * time.Minute)
  16. _ = orm.RegisterDataBase("data", "mysql", utils.MYSQL_URL_DATA)
  17. orm.SetMaxIdleConns("data", 50)
  18. orm.SetMaxOpenConns("data", 100)
  19. data_db, _ := orm.GetDB("data")
  20. data_db.SetConnMaxLifetime(10 * time.Minute)
  21. orm.Debug = true
  22. orm.DebugLog = orm.NewLog(utils.Binlog)
  23. //注册对象
  24. orm.RegisterModel(
  25. new(data_manage.EdbInfo),
  26. new(ShareChartRefreshLog), //分享图表刷新日志表
  27. new(ExcelInfo), //excel表格
  28. new(data_manage.PredictEdbConf), //预测指标配置
  29. new(data_manage.PredictEdbRuleData), //预测指标配置生成的数据
  30. new(data_manage.PredictEdbConfCalculateMapping), //预测指标关系表
  31. new(data_manage.ChartInfoCorrelation), // 图表相关性信息
  32. )
  33. // 期货数据库
  34. initFutureGood()
  35. // 初始化部分数据表变量(直接init会有顺序问题=_=!)
  36. afterInitTable()
  37. }
  38. // initFutureGood 注册期货数据 数据表
  39. func initFutureGood() {
  40. //注册对象
  41. orm.RegisterModel(
  42. new(future_good.FutureGoodEdbInfo), //期货指标表
  43. new(future_good.FutureGoodEdbData), //期货指标数据表
  44. new(future_good.ChartInfoFutureGoodProfit), //期货利润图的扩展表
  45. )
  46. }
  47. // afterInitTable
  48. // @Description: 初始化表结构的的后置操作
  49. // @author: Roc
  50. // @datetime 2024-07-01 13:31:09
  51. func afterInitTable() {
  52. // 初始化指标来源配置
  53. data_manage.InitEdbSourceVar()
  54. // 初始化是否启用mongo配置
  55. InitUseMongoConf()
  56. }