Enable foreign keys
This commit is contained in:
@ -8,7 +8,6 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
"log"
|
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
@ -66,14 +65,11 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func openDb() (*sql.DB, error) {
|
func openDb() (*sql.DB, error) {
|
||||||
db, err := sql.Open("sqlite3", "./qv.sqlite")
|
|
||||||
|
db, err := sql.Open("sqlite3", "./qv.sqlite?_foreign_keys=on")
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = db.Ping()
|
err = db.Ping()
|
||||||
}
|
}
|
||||||
_, err = db.Exec("PRAGMA foreign_keys = ON")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to enable foreign key constraints: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return db, err
|
return db, err
|
||||||
}
|
}
|
||||||
|
@ -70,5 +70,3 @@ CREATE TRIGGER prevent_created_at_update_votes
|
|||||||
BEGIN
|
BEGIN
|
||||||
SELECT RAISE(FAIL, 'created_at column is read-only');
|
SELECT RAISE(FAIL, 'created_at column is read-only');
|
||||||
END;
|
END;
|
||||||
|
|
||||||
PRAGMA foreign_keys = ON; -- run after opening the connection so foreign key constraints are checked
|
|
Reference in New Issue
Block a user