diff options
| -rw-r--r-- | README.org | 2 | ||||
| -rw-r--r-- | db/conn.rkt | 15 | ||||
| -rw-r--r-- | debug.rkt | 11 | ||||
| -rwxr-xr-x | run_development.sh | 9 |
4 files changed, 32 insertions, 5 deletions
@@ -8,5 +8,7 @@ - =FERTI_ENVIRONMENT= :: Can be either =development= or =production=. Default value is =production=, which is more secure (password required everywhere, no debug traces). +- =FERTI_DEBUG= :: Can be either =true= or =false=. Default value is + =false=. - =FERTI_USER= :: User used to log into the web app. - =FERTI_PASS= :: Password used to log into the web app. diff --git a/db/conn.rkt b/db/conn.rkt index 42a75c0..11abc19 100644 --- a/db/conn.rkt +++ b/db/conn.rkt @@ -1,22 +1,27 @@ #lang racket -(require db) - (provide current-conn connect! disconnect! with-db with-tx) +(require db + "../debug.rkt") + (define current-conn (make-parameter #f)) (define (connect! #:path [path 'memory]) - (unless (connection? (current-conn)) - (current-conn (sqlite3-connect #:database path #:mode 'create)))) + (if (connection? (current-conn)) + (debug-log (format "Connection already instantiated: ~a" (current-conn))) + (begin + (current-conn (sqlite3-connect #:database path #:mode 'create)) + (debug-log (format "Connection instantiated: ~a" (current-conn)))))) (define (disconnect!) (disconnect (current-conn)) - (current-conn #f)) + (current-conn #f) + (debug-log "Connection disconnected.")) (define-syntax-rule (with-db body ...) (begin diff --git a/debug.rkt b/debug.rkt new file mode 100644 index 0000000..0d93557 --- /dev/null +++ b/debug.rkt @@ -0,0 +1,11 @@ +#lang racket + +(provide debug-enabled? + debug-log) + +(define debug-enabled? + (make-parameter (let ([env (getenv "FERTI_DEBUG")]) (and env (equal? env "true"))))) + +(define (debug-log message) + (when (debug-enabled?) + (displayln message))) diff --git a/run_development.sh b/run_development.sh new file mode 100755 index 0000000..ee49082 --- /dev/null +++ b/run_development.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export FERTI_ENV=development +export FERTI_DEBUG=true + +export FERTI_USER=admin +export FERTI_PASS=admin + +racket main.rkt |