gorm.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package initialize
  2. import (
  3. "os"
  4. "github.com/flipped-aurora/gin-vue-admin/server/global"
  5. "github.com/flipped-aurora/gin-vue-admin/server/model/example"
  6. "github.com/flipped-aurora/gin-vue-admin/server/model/system"
  7. "go.uber.org/zap"
  8. "gorm.io/gorm"
  9. )
  10. func Gorm() *gorm.DB {
  11. switch global.GVA_CONFIG.System.DbType {
  12. case "mysql":
  13. global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mysql.Dbname
  14. return GormMysql()
  15. case "pgsql":
  16. global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Pgsql.Dbname
  17. return GormPgSql()
  18. case "oracle":
  19. global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Oracle.Dbname
  20. return GormOracle()
  21. case "mssql":
  22. global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mssql.Dbname
  23. return GormMssql()
  24. case "sqlite":
  25. global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Sqlite.Dbname
  26. return GormSqlite()
  27. default:
  28. global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mysql.Dbname
  29. return GormMysql()
  30. }
  31. }
  32. func RegisterTables() {
  33. db := global.GVA_DB
  34. err := db.AutoMigrate(
  35. system.SysApi{},
  36. system.SysIgnoreApi{},
  37. system.SysUser{},
  38. system.SysBaseMenu{},
  39. system.JwtBlacklist{},
  40. system.SysAuthority{},
  41. system.SysDictionary{},
  42. system.SysOperationRecord{},
  43. system.SysAutoCodeHistory{},
  44. system.SysDictionaryDetail{},
  45. system.SysBaseMenuParameter{},
  46. system.SysBaseMenuBtn{},
  47. system.SysAuthorityBtn{},
  48. system.SysAutoCodePackage{},
  49. system.SysExportTemplate{},
  50. system.Condition{},
  51. system.JoinTemplate{},
  52. system.SysParams{},
  53. example.ExaFile{},
  54. example.ExaCustomer{},
  55. example.ExaFileChunk{},
  56. example.ExaFileUploadAndDownload{},
  57. example.ExaAttachmentCategory{},
  58. )
  59. if err != nil {
  60. global.GVA_LOG.Error("register table failed", zap.Error(err))
  61. os.Exit(0)
  62. }
  63. err = bizModel()
  64. if err != nil {
  65. global.GVA_LOG.Error("register biz_table failed", zap.Error(err))
  66. os.Exit(0)
  67. }
  68. global.GVA_LOG.Info("register table success")
  69. }