From 0da40c66594a5946a703b6331c2c7193eb15c48f Mon Sep 17 00:00:00 2001 From: Francesco Cozzuto Date: Sat, 27 Sep 2025 10:39:49 +0200 Subject: [PATCH] Enable foreign keys by default when opening the database --- cweb.h | 7 +++++++ src/main.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/cweb.h b/cweb.h index c97dcb5..f7b1339 100644 --- a/cweb.h +++ b/cweb.h @@ -14473,6 +14473,13 @@ int cweb_enable_database(CWEB *cweb, CWEB_String database_file, CWEB_String sche return -1; } + ret = sqlite3_exec(cweb->db, "PRAGMA foreign_keys = ON;", NULL, NULL, NULL); + if (ret != SQLITE_OK) { + sqlite3_close(cweb->db); + cweb->db = NULL; + return -1; + } + LoadedFile *schema = load_file(schema_file); if (schema == NULL) { sqlite3_close(cweb->db); diff --git a/src/main.c b/src/main.c index 7d020e5..c3d6fe9 100644 --- a/src/main.c +++ b/src/main.c @@ -1061,6 +1061,13 @@ int cweb_enable_database(CWEB *cweb, CWEB_String database_file, CWEB_String sche return -1; } + ret = sqlite3_exec(cweb->db, "PRAGMA foreign_keys = ON;", NULL, NULL, NULL); + if (ret != SQLITE_OK) { + sqlite3_close(cweb->db); + cweb->db = NULL; + return -1; + } + LoadedFile *schema = load_file(schema_file); if (schema == NULL) { sqlite3_close(cweb->db);