main.go 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package generate
  2. import (
  3. "os"
  4. "github.com/sirupsen/logrus"
  5. "gorm.io/driver/mysql"
  6. "gorm.io/gen"
  7. "gorm.io/gorm"
  8. )
  9. func GenModel() {
  10. g := gen.NewGenerator(gen.Config{
  11. OutPath: "./internal/gorm/query",
  12. Mode: gen.WithoutContext,
  13. FieldWithIndexTag: true,
  14. FieldWithTypeTag: true,
  15. })
  16. GenDefaultModel(g)
  17. // GenGraveModel(g)
  18. // GenLoginModel(g)
  19. // execute the action of code generation
  20. g.Execute()
  21. }
  22. func GenDefaultModel(g *gen.Generator) {
  23. logrus.Info("is executing GenDefaultModel...")
  24. db, _ := gorm.Open(mysql.Open(os.Getenv("MYSQL_DSN")))
  25. g.UseDB(db)
  26. g.ApplyBasic(
  27. g.GenerateModel("abnormal_payment_logs"),
  28. g.GenerateModel("admin_email"),
  29. g.GenerateModel("admin_logs"),
  30. g.GenerateModel("admin_notice"),
  31. g.GenerateModel("admin_role"),
  32. g.GenerateModel("admin_users"),
  33. g.GenerateModel("adv_origin_logs", gen.FieldType("date", "string")),
  34. g.GenerateModel("advertisement_logs"),
  35. g.GenerateModel("advertisement_space"),
  36. g.GenerateModel("boss_logs", gen.FieldType("date", "string")),
  37. g.GenerateModel("cache"),
  38. g.GenerateModel("changed_logs"),
  39. g.GenerateModel("changed_player"),
  40. g.GenerateModel("changed_statistics", gen.FieldType("date", "string")),
  41. g.GenerateModel("changed_sync"),
  42. g.GenerateModel("channel"),
  43. g.GenerateModel("chapter"),
  44. g.GenerateModel("chapter_logs"),
  45. g.GenerateModel("chapter_logs_user_details"),
  46. g.GenerateModel("chapter_sync"),
  47. g.GenerateModel("config"),
  48. g.GenerateModel("customer_service_chat_log"),
  49. g.GenerateModel("disconnect_logs", gen.FieldType("date", "string")),
  50. g.GenerateModel("duel_logs", gen.FieldType("date", "string")),
  51. g.GenerateModel("event_config"),
  52. g.GenerateModel("expedition_logs", gen.FieldType("date", "string")),
  53. g.GenerateModel("first_adv_logs", gen.FieldType("date", "string")),
  54. g.GenerateModel("game_data_alarm"),
  55. g.GenerateModel("game_character_data_anomaly"),
  56. g.GenerateModel("game_alarm_combat_logs"),
  57. g.GenerateModel("gem_logs", gen.FieldType("date", "string")),
  58. g.GenerateModel("gem_player"),
  59. g.GenerateModel("gem_stat", gen.FieldType("date", "string")),
  60. g.GenerateModel("goods_logs"),
  61. g.GenerateModel("grandmaster_logs", gen.FieldType("date", "string")),
  62. g.GenerateModel("grandmaster_match"),
  63. g.GenerateModel("gudong_logs", gen.FieldType("date", "string")),
  64. g.GenerateModel("idiom_logs", gen.FieldType("date", "string")),
  65. g.GenerateModel("lady38rank2"),
  66. g.GenerateModel("limitgift_logs", gen.FieldType("date", "string")),
  67. g.GenerateModel("login_logs"),
  68. g.GenerateModel("menu"),
  69. g.GenerateModel("new_conv_logs", gen.FieldType("date", "string")),
  70. g.GenerateModel("online_duration_logs"),
  71. g.GenerateModel("online_nums_logs"),
  72. g.GenerateModel("orders", gen.FieldType("date", "string")),
  73. g.GenerateModel("orders_reg_stat", gen.FieldType("date", "string")),
  74. g.GenerateModel("orders_settle"),
  75. g.GenerateModel("orders_sync"),
  76. g.GenerateModel("player_ban_logs"),
  77. g.GenerateModel("player_battle_dps"),
  78. g.GenerateModel("player_cache"),
  79. g.GenerateModel("player_channel"),
  80. g.GenerateModel("player_dps"),
  81. g.GenerateModel("player_logins"),
  82. g.GenerateModel("redeem_code", gen.FieldType("date", "string")),
  83. g.GenerateModel("redeem_peripherals_received"),
  84. g.GenerateModel("redeem_received"),
  85. g.GenerateModel("report_day_basic", gen.FieldType("date", "string")),
  86. g.GenerateModel("report_day_event_basic", gen.FieldType("date", "string")),
  87. g.GenerateModel("report_day_adv_basic", gen.FieldType("date", "string")),
  88. g.GenerateModel("report_day_goods_basic", gen.FieldType("date", "string")),
  89. g.GenerateModel("report_day_gudong", gen.FieldType("date", "string")),
  90. g.GenerateModel("report_day_chapter_pass", gen.FieldType("date", "string")),
  91. //g.GenerateModel("test_logs", gen.FieldType("date", "string")),
  92. g.GenerateModel("report_day_expedition", gen.FieldType("date", "string")),
  93. g.GenerateModel("report_day_duel", gen.FieldType("date", "string")),
  94. g.GenerateModel("report_day_boss", gen.FieldType("date", "string")),
  95. g.GenerateModel("report_day_idiom", gen.FieldType("date", "string")),
  96. g.GenerateModel("report_day_disconnect", gen.FieldType("date", "string")),
  97. g.GenerateModel("report_day_gem", gen.FieldType("date", "string")),
  98. g.GenerateModel("report_day_limitgift", gen.FieldType("date", "string")),
  99. g.GenerateModel("report_day_have_roles", gen.FieldType("date", "string")),
  100. g.GenerateModel("report_day_adv_summ", gen.FieldType("date", "string")),
  101. g.GenerateModel("report_day_treasure", gen.FieldType("date", "string")),
  102. g.GenerateModel("report_day_new_conv", gen.FieldType("date", "string")),
  103. g.GenerateModel("report_day_first_adv", gen.FieldType("date", "string")),
  104. g.GenerateModel("report_day_grandmaster", gen.FieldType("date", "string")),
  105. g.GenerateModel("report_day_treasure_chest", gen.FieldType("date", "string")),
  106. g.GenerateModel("report_day_seven", gen.FieldType("date", "string")),
  107. g.GenerateModel("report_events", gen.FieldType("date", "string")),
  108. g.GenerateModel("report_level_output"),
  109. g.GenerateModel("retrofit"),
  110. g.GenerateModel("retrofit_group"),
  111. g.GenerateModel("role"),
  112. g.GenerateModel("roles_logs", gen.FieldType("date", "string")),
  113. g.GenerateModel("server_deploy_stat"),
  114. g.GenerateModel("server_deploy"),
  115. g.GenerateModel("server_deploy_log"),
  116. g.GenerateModel("server_option"),
  117. g.GenerateModel("seven_logs", gen.FieldType("date", "string")),
  118. g.GenerateModel("tools_restart_log"),
  119. g.GenerateModel("treasure_chest_log", gen.FieldType("date", "string")),
  120. g.GenerateModel("treasure_log", gen.FieldType("date", "string")),
  121. g.GenerateModel("user_chapter_logs"),
  122. )
  123. }
  124. func GenGraveModel(g *gen.Generator) {
  125. logrus.Info("is executing GenGraveModel...")
  126. db, _ := gorm.Open(mysql.Open(os.Getenv("MYSQL_GRAVE_DSN")))
  127. g.UseDB(db)
  128. g.ApplyBasic(
  129. g.GenerateModel("bosswar"), // 暗影突袭
  130. g.GenerateModel("buy_stamina"), // 购买体力
  131. g.GenerateModel("client_data"), // 客户端数据
  132. g.GenerateModel("climbfloor"), // 悬魂梯房间
  133. g.GenerateModel("curiomake"), // 古玩合成
  134. g.GenerateModel("globalletter"), // 全局邮件
  135. g.GenerateModel("grandmaster"), // 玩家活动进度
  136. g.GenerateModel("game_data_alarm"), //玩家游戏数据异常
  137. g.GenerateModel("idiommatch"), // 金榜题名
  138. g.GenerateModel("player_attr"), // 玩家基本信息
  139. g.GenerateModel("player_day_tasks"), // 玩家每日任务
  140. g.GenerateModel("player_divination"), // 玩家占卜,幸运密宝
  141. g.GenerateModel("player_letter"), // 玩家邮件
  142. g.GenerateModel("player_mailbox"), // 玩家邮件,最后查看ID
  143. g.GenerateModel("player_material"), // 玩家材料
  144. g.GenerateModel("player_patrol"), // 玩家收益记录
  145. //g.GenerateModel("player_score"), // 用户得分
  146. g.GenerateModel("player_task"), // 用户任务
  147. g.GenerateModel("processaward"), // 服务器奖励领取
  148. g.GenerateModel("signin"), // 登录记录
  149. //g.GenerateModel("soulfloor"), // 悬魂梯每层
  150. g.GenerateModel("wxpay_order"), // 微信订单
  151. g.GenerateModel("wxpay_player"), // 玩家支付订单
  152. g.GenerateModel("zone_activity"), // 玩家活动进度
  153. )
  154. g.ApplyBasic(g.GenerateModelAs("virtualpayorder", "PayOrderAndriod")) // 微信订单
  155. g.ApplyBasic(g.GenerateModelAs("wxpay_iosorder", "PayOrderIos")) // 微信ios订单
  156. }
  157. func GenLoginModel(g *gen.Generator) {
  158. logrus.Info("is executing GenLoginModel...")
  159. db, _ := gorm.Open(mysql.Open(os.Getenv("MYSQL_LOGIN_DSN")))
  160. g.UseDB(db)
  161. g.ApplyBasic(
  162. g.GenerateModel("user_account"), // 用户账号
  163. )
  164. }