diff options
author | Vikas Kushwaha <dev@vikas.rocks> | 2025-02-11 16:31:08 +0530 |
---|---|---|
committer | Vikas Kushwaha <dev@vikas.rocks> | 2025-02-11 16:31:08 +0530 |
commit | 57eb8f6712361a3bf75983ce153fac4846dc0273 (patch) | |
tree | 269a168d59c917c4e313c819e2b4c3ff8175f912 /internal/database |
Initial commit
Diffstat (limited to 'internal/database')
-rw-r--r-- | internal/database/database.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/internal/database/database.go b/internal/database/database.go new file mode 100644 index 0000000..c67c75e --- /dev/null +++ b/internal/database/database.go @@ -0,0 +1,50 @@ +package database + +import ( + "fmt" + "log" + "os" + "time" + + "github.com/glebarez/sqlite" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) + +var DB *gorm.DB + +func Open() { + + newLogger := logger.New( + log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer + logger.Config{ + SlowThreshold: time.Millisecond * 10, // Slow SQL threshold + LogLevel: logger.Info, // Log level + IgnoreRecordNotFoundError: false, // Ignore ErrRecordNotFound error for logger + Colorful: true, // Disable color + }, + ) + + db, err := gorm.Open(sqlite.Open("database.sqlite"), &gorm.Config{ + Logger: newLogger, + }) + + if err != nil { + fmt.Println("storage err: ", err) + } + + sqlDB, err := db.DB() + if err != nil { + fmt.Println("storage err: ", err) + } + + sqlDB.SetMaxIdleConns(3) + sqlDB.SetMaxOpenConns(100) + sqlDB.SetConnMaxLifetime(time.Hour) + + DB = db +} + +func Get() *gorm.DB { + return DB +} |