gorm.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package initialize
  2. import (
  3. "os"
  4. "server/dao"
  5. "server/dao/crm"
  6. "server/dao/godown"
  7. "server/dao/system"
  8. "go.uber.org/zap"
  9. "gorm.io/gorm"
  10. "server/global"
  11. "server/model/example"
  12. )
  13. func Gorm() *gorm.DB {
  14. switch global.GVA_CONFIG.System.DbType {
  15. case "mysql":
  16. return GormMysql()
  17. case "pgsql":
  18. return GormPgSql()
  19. case "oracle":
  20. return GormOracle()
  21. case "mssql":
  22. return GormMssql()
  23. case "sqlite":
  24. return GormSqlite()
  25. default:
  26. return GormMysql()
  27. }
  28. }
  29. func RegisterTables() {
  30. db := global.GVA_DB
  31. err := db.AutoMigrate(
  32. system.SysApi{},
  33. system.SysUser{},
  34. system.SysBaseMenu{},
  35. system.JwtBlacklist{},
  36. system.SysAuthority{},
  37. system.SysDictionary{},
  38. system.SysOperationRecord{},
  39. system.SysDictionaryDetail{},
  40. system.SysBaseMenuParameter{},
  41. system.SysBaseMenuBtn{},
  42. system.SysAuthorityBtn{},
  43. dao.Notice{},
  44. example.ExaFile{},
  45. example.ExaFileChunk{},
  46. dao.ExaFileUploadAndDownload{},
  47. dao.Department{},
  48. dao.Project{},
  49. dao.ProjectState{},
  50. dao.ProjectFile{},
  51. dao.FileGenre{},
  52. dao.NecessaryDocument{},
  53. dao.ProjectWorkingHours{},
  54. dao.Collection{},
  55. dao.Borrowing{},
  56. dao.ExpensesGenre{},
  57. dao.DailyExpenses{},
  58. dao.DailyFeeDetails{},
  59. dao.DailyFile{},
  60. dao.Reimbursement{},
  61. dao.FeeDetails{},
  62. dao.Constructor{},
  63. dao.Expenses{},
  64. dao.MonthExpenses{},
  65. dao.ProjectFee{},
  66. dao.ProjectFeeGenre{},
  67. dao.ProjectMonthFee{},
  68. dao.Node{},
  69. dao.Approver{},
  70. dao.Process{},
  71. dao.Description{},
  72. dao.ProjectProcess{},
  73. dao.ProcessNodes{},
  74. godown.Commodity{},
  75. godown.CommodityGenre{},
  76. godown.Supplier{},
  77. godown.Warehouse{},
  78. godown.Place{},
  79. godown.StorageArea{},
  80. godown.StorageAreaGenre{},
  81. godown.Manifest{},
  82. godown.Cargo{},
  83. godown.Goods{},
  84. crm.Customer{},
  85. crm.CustomerGenre{},
  86. crm.Progress{},
  87. crm.Demand{},
  88. )
  89. if err != nil {
  90. global.GVA_LOG.Error("register table failed", zap.Error(err))
  91. os.Exit(0)
  92. }
  93. global.GVA_LOG.Info("register table success")
  94. }