gorm.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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.Manifest{},
  75. godown.Cargo{},
  76. godown.Goods{},
  77. godown.GoodsGenre{},
  78. crm.Customer{},
  79. crm.CustomerGenre{},
  80. crm.Progress{},
  81. crm.Demand{},
  82. )
  83. if err != nil {
  84. global.GVA_LOG.Error("register table failed", zap.Error(err))
  85. os.Exit(0)
  86. }
  87. global.GVA_LOG.Info("register table success")
  88. }