db.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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/beego/beego/v2/client/orm"
  7. _ "github.com/go-sql-driver/mysql"
  8. _ "github.com/lib/pq"
  9. "time"
  10. )
  11. func init() {
  12. /*// 高斯数据库的连接字符串
  13. connStr := "user=lhr dbname=postgres sslmode=disable password=lhr host=192.168.0.106 port=7654"
  14. // 使用pq连接高斯数据库
  15. db1, err := sql.Open("postgres", connStr)
  16. if err != nil {
  17. panic(err)
  18. }
  19. defer db1.Close()
  20. // 测试连接
  21. err = db1.Ping()
  22. if err != nil {
  23. panic(err)
  24. }
  25. fmt.Println("Connected to the postgres database!")*/
  26. _ = orm.RegisterDataBase("default", utils.DBDRIVER_NAME, utils.MYSQL_URL)
  27. orm.SetMaxIdleConns("default", 50)
  28. orm.SetMaxOpenConns("default", 100)
  29. db, _ := orm.GetDB("default")
  30. db.SetConnMaxLifetime(10 * time.Minute)
  31. //_ = orm.RegisterDataBase("data", "mysql", utils.MYSQL_URL_DATA)
  32. _ = orm.RegisterDataBase("data", utils.DBDRIVER_NAME, utils.MYSQL_URL_DATA)
  33. orm.SetMaxIdleConns("data", 50)
  34. orm.SetMaxOpenConns("data", 100)
  35. data_db, _ := orm.GetDB("data")
  36. data_db.SetConnMaxLifetime(10 * time.Minute)
  37. orm.Debug = true
  38. orm.DebugLog = orm.NewLog(utils.Binlog)
  39. //注册对象
  40. orm.RegisterModel(
  41. new(data_manage.EdbInfo),
  42. new(ShareChartRefreshLog), //分享图表刷新日志表
  43. new(ExcelInfo), //excel表格
  44. new(data_manage.PredictEdbConf), //预测指标配置
  45. new(data_manage.PredictEdbRuleData), //预测指标配置生成的数据
  46. new(data_manage.PredictEdbConfCalculateMapping), //预测指标关系表
  47. new(data_manage.ChartInfoCorrelation), // 图表相关性信息
  48. new(FactorEdbSeriesCalculateDataQjjs), // 因子指标系列-区间计算数据
  49. )
  50. // 期货数据库
  51. initFutureGood()
  52. // 初始化部分数据表变量(直接init会有顺序问题=_=!)
  53. afterInitTable()
  54. }
  55. // initFutureGood 注册期货数据 数据表
  56. func initFutureGood() {
  57. //注册对象
  58. orm.RegisterModel(
  59. new(future_good.FutureGoodEdbInfo), //期货指标表
  60. new(future_good.FutureGoodEdbData), //期货指标数据表
  61. new(future_good.ChartInfoFutureGoodProfit), //期货利润图的扩展表
  62. )
  63. }
  64. // afterInitTable
  65. // @Description: 初始化表结构的的后置操作
  66. // @author: Roc
  67. // @datetime 2024-07-01 13:31:09
  68. func afterInitTable() {
  69. // 初始化指标来源配置
  70. data_manage.InitEdbSourceVar()
  71. // 初始化是否启用mongo配置
  72. InitUseMongoConf()
  73. }