Move journal mode to connection string
Signed-off-by: Jonas Franz <info@jonasfranz.software>
This commit is contained in:
parent
f06e9c66b2
commit
c5e50c48da
|
|
@ -59,7 +59,7 @@ var (
|
||||||
// DbCfg holds the database settings
|
// DbCfg holds the database settings
|
||||||
DbCfg struct {
|
DbCfg struct {
|
||||||
Type, Host, Name, User, Passwd, Path, SSLMode, JournalMode string
|
Type, Host, Name, User, Passwd, Path, SSLMode, JournalMode string
|
||||||
Timeout int
|
Timeout int
|
||||||
}
|
}
|
||||||
|
|
||||||
// EnableSQLite3 use SQLite3
|
// EnableSQLite3 use SQLite3
|
||||||
|
|
@ -233,7 +233,7 @@ func getEngine() (*xorm.Engine, error) {
|
||||||
if err := os.MkdirAll(path.Dir(DbCfg.Path), os.ModePerm); err != nil {
|
if err := os.MkdirAll(path.Dir(DbCfg.Path), os.ModePerm); err != nil {
|
||||||
return nil, fmt.Errorf("Failed to create directories: %v", err)
|
return nil, fmt.Errorf("Failed to create directories: %v", err)
|
||||||
}
|
}
|
||||||
connStr = fmt.Sprintf("file:%s?cache=shared&mode=rwc&_busy_timeout=%d", DbCfg.Path, DbCfg.Timeout)
|
connStr = fmt.Sprintf("file:%s?cache=shared&mode=rwc&_busy_timeout=%d&_journal=%s", DbCfg.Path, DbCfg.Timeout, DbCfg.JournalMode)
|
||||||
case "tidb":
|
case "tidb":
|
||||||
if !EnableTiDB {
|
if !EnableTiDB {
|
||||||
return nil, errors.New("this binary version does not build support for TiDB")
|
return nil, errors.New("this binary version does not build support for TiDB")
|
||||||
|
|
@ -245,21 +245,7 @@ func getEngine() (*xorm.Engine, error) {
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
|
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
|
||||||
}
|
}
|
||||||
e, err := xorm.NewEngine(DbCfg.Type, connStr)
|
return xorm.NewEngine(DbCfg.Type, connStr)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if DbCfg.Type == "sqlite" {
|
|
||||||
journalMode := "WLA" // Using WLA as default mode
|
|
||||||
if len(DbCfg.JournalMode) == 0 {
|
|
||||||
journalMode = DbCfg.JournalMode
|
|
||||||
}
|
|
||||||
_, err := e.Exec("PRAGMA journal_mode = ?;", journalMode)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return e, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewTestEngine sets a new test xorm.Engine
|
// NewTestEngine sets a new test xorm.Engine
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ func InitIssueIndexer(populateIndexer func() error) {
|
||||||
log.Fatal(4, "InitIssuesIndexer: create index, %v", err)
|
log.Fatal(4, "InitIssuesIndexer: create index, %v", err)
|
||||||
}
|
}
|
||||||
if err = populateIndexer(); err != nil {
|
if err = populateIndexer(); err != nil {
|
||||||
log.Fatal(4, "InitIssueIndexer: populate index, %v", err)
|
//log.Fatal(4, "InitIssueIndexer: populate index, %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user