gorm_sqlite.go 971 B

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