sqlite.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package orm
  2. import (
  3. "Gwen/global"
  4. "fmt"
  5. "gorm.io/driver/sqlite"
  6. "gorm.io/gorm"
  7. "gorm.io/gorm/logger"
  8. "time"
  9. )
  10. type SqliteConfig struct {
  11. MaxIdleConns int
  12. MaxOpenConns int
  13. }
  14. func NewSqlite(sqliteConf *SqliteConfig) *gorm.DB {
  15. db, err := gorm.Open(sqlite.Open("./data/rustdeskapi.db"), &gorm.Config{
  16. Logger: logger.New(
  17. global.Logger, // io writer
  18. logger.Config{
  19. SlowThreshold: time.Second, // Slow SQL threshold
  20. LogLevel: logger.Warn, // Log level
  21. IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger
  22. ParameterizedQueries: true, // Don't include params in the SQL log
  23. Colorful: true,
  24. },
  25. ),
  26. })
  27. if err != nil {
  28. fmt.Println(err)
  29. }
  30. sqlDB, err2 := db.DB()
  31. if err2 != nil {
  32. fmt.Println(err2)
  33. }
  34. // SetMaxIdleConns 设置空闲连接池中连接的最大数量
  35. sqlDB.SetMaxIdleConns(sqliteConf.MaxIdleConns)
  36. // SetMaxOpenConns 设置打开数据库连接的最大数量。
  37. sqlDB.SetMaxOpenConns(sqliteConf.MaxOpenConns)
  38. return db
  39. }