diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs index f5cf5fc1ab5be4fc00d266f0c897e651c970a4f2..d4451dca01065658295715623f34e76cd8ba912f 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