mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-21 05:45:44 +00:00
.
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
[](https://github.com/glebarez/go-sqlite/actions/workflows/tests.yml)
|
||||

|
||||
|
||||
# go-sqlite
|
||||
This is a pure-Go SQLite driver for Golang's native [database/sql](https://pkg.go.dev/database/sql) package.
|
||||
The driver has [Go-based implementation of SQLite](https://gitlab.com/cznic/sqlite) embedded in itself (so, you don't need to install SQLite separately)
|
||||
|
||||
# Usage
|
||||
|
||||
## Example
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"log"
|
||||
|
||||
_ "github.com/glebarez/go-sqlite"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// connect
|
||||
db, err := sql.Open("sqlite", ":memory:")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// get SQLite version
|
||||
_ := db.QueryRow("select sqlite_version()")
|
||||
}
|
||||
```
|
||||
|
||||
## Connection string examples
|
||||
- in-memory SQLite: ```":memory:"```
|
||||
- on-disk SQLite: ```"path/to/some.db"```
|
||||
- Foreign-key constraint activation: ```":memory:?_pragma=foreign_keys(1)"```
|
||||
|
||||
## Settings PRAGMAs in connection string
|
||||
Any SQLIte pragma can be preset for a Database connection using ```_pragma``` query parameter. Examples:
|
||||
- [journal mode](https://www.sqlite.org/pragma.html#pragma_journal_mode): ```path/to/some.db?_pragma=journal_mode(WAL)```
|
||||
- [busy timeout](https://www.sqlite.org/pragma.html#pragma_busy_timeout): ```:memory:?_pragma=busy_timeout(5000)```
|
||||
|
||||
Multiple PRAGMAs can be specified, e.g.:<br>
|
||||
```path/to/some.db?_pragma=busy_timeout(5000)&_pragma=journal_mode(WAL)```
|
||||
Reference in New Issue
Block a user