1
0

Sqlite journal mode (#54)

هذا الالتزام موجود في:
Thomas Miceli
2023-06-09 15:25:41 +02:00
ملتزم من قبل GitHub
الأصل b2a56fe5a0
التزام 3366cde385
6 ملفات معدلة مع 36 إضافات و2 حذوفات

عرض الملف

@@ -3,17 +3,26 @@ package models
import (
"errors"
"github.com/mattn/go-sqlite3"
"github.com/rs/zerolog/log"
"github.com/thomiceli/opengist/internal/config"
"github.com/thomiceli/opengist/internal/utils"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"strings"
)
var db *gorm.DB
func Setup(dbpath string) error {
func Setup(dbPath string) error {
var err error
journalMode := strings.ToUpper(config.C.SqliteJournalMode)
if db, err = gorm.Open(sqlite.Open(dbpath+"?_fk=true"), &gorm.Config{
if !utils.SliceContains([]string{"DELETE", "TRUNCATE", "PERSIST", "MEMORY", "WAL", "OFF"}, journalMode) {
log.Warn().Msg("Invalid SQLite journal mode: " + journalMode)
}
if db, err = gorm.Open(sqlite.Open(dbPath+"?_fk=true&_journal_mode="+journalMode), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent),
}); err != nil {
return err