mirror of
https://github.com/pocketbase/pocketbase.git
synced 2024-11-24 17:07:00 +02:00
23 lines
657 B
Go
23 lines
657 B
Go
//go:build !cgo
|
|
|
|
package core
|
|
|
|
import (
|
|
"github.com/pocketbase/dbx"
|
|
_ "modernc.org/sqlite"
|
|
)
|
|
|
|
func connectDB(dbPath string) (*dbx.DB, error) {
|
|
// Note: the busy_timeout pragma must be first because
|
|
// the connection needs to be set to block on busy before WAL mode
|
|
// is set in case it hasn't been already set by another connection.
|
|
pragmas := "?_pragma=busy_timeout(10000)&_pragma=journal_mode(WAL)&_pragma=journal_size_limit(200000000)&_pragma=synchronous(NORMAL)&_pragma=foreign_keys(ON)&_pragma=temp_store(MEMORY)&_pragma=cache_size(-16000)"
|
|
|
|
db, err := dbx.Open("sqlite", dbPath+pragmas)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return db, nil
|
|
}
|