gorm.go 1.8 KB

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