From 038dc644381934d37f8306f4dda7ab09775f9c78 Mon Sep 17 00:00:00 2001
From: Ramakrishnan Muthukrishnan <ram@leastauthority.com>
Date: Thu, 24 Oct 2019 11:46:00 +0530
Subject: [PATCH] enable foreign keys as sqlite default is to turn it off

---
 src/PaymentServer/Persistence.hs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs
index f5cf5fc..d4451dc 100644
--- a/src/PaymentServer/Persistence.hs
+++ b/src/PaymentServer/Persistence.hs
@@ -153,6 +153,7 @@ insertVoucherAndFingerprint dbConn voucher fingerprint =
 getDBConnection :: Text -> IO VoucherDatabaseState
 getDBConnection name = do
   dbConn <- Sqlite.open (unpack name)
+  Sqlite.execute_ dbConn "PRAGMA foreign_keys = ON"
   Sqlite.execute_ dbConn "CREATE TABLE IF NOT EXISTS vouchers (id INTEGER PRIMARY KEY, name TEXT UNIQUE)"
   Sqlite.execute_ dbConn "CREATE TABLE IF NOT EXISTS redeemed (id INTEGER PRIMARY KEY, voucher_id INTEGER, fingerprint TEXT, FOREIGN KEY (voucher_id) REFERENCES vouchers(id))"
   return $ SQLiteDB dbConn
-- 
GitLab