db_list.go 873 B

123456789101112131415161718192021222324252627282930313233343536
  1. package initialize
  2. import (
  3. "gorm.io/gorm"
  4. "server/config"
  5. "server/global"
  6. )
  7. const sys = "system"
  8. func DBList() {
  9. dbMap := make(map[string]*gorm.DB)
  10. for _, info := range global.GVA_CONFIG.DBList {
  11. if info.Disable {
  12. continue
  13. }
  14. switch info.Type {
  15. case "mysql":
  16. dbMap[info.AliasName] = GormMysqlByConfig(config.Mysql{GeneralDB: info.GeneralDB})
  17. case "mssql":
  18. dbMap[info.AliasName] = GormMssqlByConfig(config.Mssql{GeneralDB: info.GeneralDB})
  19. case "pgsql":
  20. dbMap[info.AliasName] = GormPgSqlByConfig(config.Pgsql{GeneralDB: info.GeneralDB})
  21. case "oracle":
  22. dbMap[info.AliasName] = GormOracleByConfig(config.Oracle{GeneralDB: info.GeneralDB})
  23. default:
  24. continue
  25. }
  26. }
  27. // 做特殊判断,是否有迁移
  28. // 适配低版本迁移多数据库版本
  29. if sysDB, ok := dbMap[sys]; ok {
  30. global.GVA_DB = sysDB
  31. }
  32. global.GVA_DBList = dbMap
  33. }