gorm.go 1.7 KB

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