diff options
author | Emile <git@emile.space> | 2024-08-16 19:50:26 +0200 |
---|---|---|
committer | Emile <git@emile.space> | 2024-08-16 19:50:26 +0200 |
commit | 1a57267a17c2fc17fb6e104846fabc3e363c326c (patch) | |
tree | 1e574e3a80622086dc3c81ff9cba65ef7049b1a9 /src/sql.go |
initial commit
Diffstat (limited to 'src/sql.go')
-rw-r--r-- | src/sql.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/sql.go b/src/sql.go new file mode 100644 index 0000000..858878b --- /dev/null +++ b/src/sql.go @@ -0,0 +1,31 @@ +package main + +import ( + "database/sql" + "database/sql/driver" + "modernc.org/sqlite" +) + +type sqlite3Driver struct { + *sqlite.Driver +} + +type sqlite3DriverConn interface { + Exec(string, []driver.Value) (driver.Result, error) +} + +func (d sqlite3Driver) Open(name string) (conn driver.Conn, err error) { + conn, err = d.Driver.Open(name) + if err != nil { + return + } + _, err = conn.(sqlite3DriverConn).Exec("PRAGMA foreign_keys = ON;", nil) + if err != nil { + _ = conn.Close() + } + return +} + +func init() { + sql.Register("sqlite3", sqlite3Driver{Driver: &sqlite.Driver{}}) +} |