Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database/db.go26
1 files changed, 24 insertions, 2 deletions
diff --git a/database/db.go b/database/db.go
index 300a73c0..2058729f 100644
--- a/database/db.go
+++ b/database/db.go
@@ -82,9 +82,31 @@ func InitDB(dbPath string) error {
}
c := &gorm.Config{
- Logger: gormLogger,
+ Logger: gormLogger,
+ SkipDefaultTransaction: true,
+ PrepareStmt: true,
}
- db, err = gorm.Open(sqlite.Open(dbPath), c)
+
+ dsn := dbPath + "?cache=shared&_journal_mode=WAL&_synchronous=NORMAL"
+ db, err = gorm.Open(sqlite.Open(dsn), c)
+ if err != nil {
+ return err
+ }
+
+ sqlDB, err := db.DB()
+ if err != nil {
+ return err
+ }
+
+ _, err = sqlDB.Exec("PRAGMA cache_size = -64000;")
+ if err != nil {
+ return err
+ }
+ _, err = sqlDB.Exec("PRAGMA temp_store = MEMORY;")
+ if err != nil {
+ return err
+ }
+ _, err = sqlDB.Exec("PRAGMA foreign_keys = ON;")
if err != nil {
return err
}