gorm.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package initialize
  2. import (
  3. "os"
  4. "server/dao/devices"
  5. example2 "server/dao/example"
  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. example.ExaFile{},
  43. example.ExaFileChunk{},
  44. example2.ExaFileUploadAndDownload{},
  45. devices.GateWay{},
  46. devices.Camera{},
  47. devices.Screens{}, devices.Resolution{}, devices.ScreensSize{}, //屏幕以及一些屏参
  48. devices.Radar{},
  49. devices.Intersect{},
  50. )
  51. if err != nil {
  52. global.GVA_LOG.Error("register table failed", zap.Error(err))
  53. os.Exit(0)
  54. }
  55. global.GVA_LOG.Info("register table success")
  56. }