gorm_sqlite.go 929 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package initialize
  2. import (
  3. "github.com/glebarez/sqlite"
  4. "gorm.io/gorm"
  5. "server/config"
  6. "server/global"
  7. "server/initialize/internal"
  8. )
  9. // GormSqlite 初始化Sqlite数据库
  10. func GormSqlite() *gorm.DB {
  11. s := global.GVA_CONFIG.Sqlite
  12. if s.Dbname == "" {
  13. return nil
  14. }
  15. if db, err := gorm.Open(sqlite.Open(s.Dsn()), internal.Gorm.Config(s.Prefix, s.Singular)); err != nil {
  16. panic(err)
  17. } else {
  18. sqlDB, _ := db.DB()
  19. sqlDB.SetMaxIdleConns(s.MaxIdleConns)
  20. sqlDB.SetMaxOpenConns(s.MaxOpenConns)
  21. return db
  22. }
  23. }
  24. // GormSqliteByConfig 初始化Sqlite数据库用过传入配置
  25. func GormSqliteByConfig(s config.Sqlite) *gorm.DB {
  26. if s.Dbname == "" {
  27. return nil
  28. }
  29. if db, err := gorm.Open(sqlite.Open(s.Dsn()), internal.Gorm.Config(s.Prefix, s.Singular)); err != nil {
  30. panic(err)
  31. } else {
  32. sqlDB, _ := db.DB()
  33. sqlDB.SetMaxIdleConns(s.MaxIdleConns)
  34. sqlDB.SetMaxOpenConns(s.MaxOpenConns)
  35. return db
  36. }
  37. }