diff options
Diffstat (limited to 'models/crop.rkt')
| -rw-r--r-- | models/crop.rkt | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/models/crop.rkt b/models/crop.rkt index f77cbaa..9550bfd 100644 --- a/models/crop.rkt +++ b/models/crop.rkt @@ -29,9 +29,13 @@ ;; CREATE (define (create-crop! name) - (query-exec (current-conn) - (insert #:into crops - #:set [canonical_name ,name]))) + (define existing-crop (get-crop #:name name)) + (define (new-crop) + (query-exec (current-conn) + (insert #:into crops + #:set [canonical_name ,name]))) + (or existing-crop + (new-crop))) ;; READ |