gorm.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. )
  49. if err != nil {
  50. global.GVA_LOG.Error("register table failed", zap.Error(err))
  51. os.Exit(0)
  52. }
  53. global.GVA_LOG.Info("register table success")
  54. }