diff options
Diffstat (limited to 'db/seed.rkt')
| -rw-r--r-- | db/seed.rkt | 73 |
1 files changed, 31 insertions, 42 deletions
diff --git a/db/seed.rkt b/db/seed.rkt index 4a765f6..881b9ef 100644 --- a/db/seed.rkt +++ b/db/seed.rkt @@ -20,29 +20,27 @@ (define (seed-nutrients!) (define nutrient-names (map nutrient-name (get-nutrients))) (define default-nutrients - '(("Nitrate Nitrogen" "NNO3") - ("Phosphorus" "P") - ("Potassium" "K") - ("Calcium" "Ca") - ("Magnesium" "Mg") - ("Sulfur" "S") - ("Sodium" "Na") - ("Chloride" "Cl") - ("Silicon" "Si") - ("Iron" "Fe") - ("Zinc" "Zn") - ("Boron" "B") - ("Manganese" "Mn") - ("Copper" "Cu") - ("Molybdenum" "Mo") - ("Ammonium Nitrogen" "NNH4"))) - (with-tx - (for ([pair (in-list default-nutrients)]) - (define name (first pair)) - (define formula (second pair)) - ;; Ensure idempotence - (unless (member name nutrient-names) - (create-nutrient! name formula))))) + '(("Nitrate Nitrogen" "NNO3") ("Phosphorus" "P") + ("Potassium" "K") + ("Calcium" "Ca") + ("Magnesium" "Mg") + ("Sulfur" "S") + ("Sodium" "Na") + ("Chloride" "Cl") + ("Silicon" "Si") + ("Iron" "Fe") + ("Zinc" "Zn") + ("Boron" "B") + ("Manganese" "Mn") + ("Copper" "Cu") + ("Molybdenum" "Mo") + ("Ammonium Nitrogen" "NNH4"))) + (with-tx (for ([pair (in-list default-nutrients)]) + (define name (first pair)) + (define formula (second pair)) + ;; Ensure idempotence + (unless (member name nutrient-names) + (create-nutrient! name formula))))) (define-runtime-path measurement-csv "data/dolibarr_nutrient_measurements_ppm.csv") (define (seed-historical-nutrient-measurements!) @@ -58,20 +56,15 @@ (define v (string->number (cdr nm))) (cons n v))) (create-nutrient-measurement! measured-on nutrient-values)) - (with-tx - (csv-for-each row->seed! next-row))) + (with-tx (csv-for-each row->seed! next-row))) (define (seed-crops!) (define crop-names (map crop-name (get-crops))) - (define default-crops '("salade" - "laitue" - "tomate" - "framboise")) - (with-tx - (for ([name (in-list default-crops)]) - ;; Ensure idempotence - (unless (member name crop-names) - (create-crop! name))))) + (define default-crops '("salade" "laitue" "tomate" "framboise")) + (with-tx (for ([name (in-list default-crops)]) + ;; Ensure idempotence + (unless (member name crop-names) + (create-crop! name))))) (define-runtime-path requirements-csv "data/dolibarr_crop_requirements_ppm.csv") (define (seed-crop-requirements!) @@ -91,10 +84,8 @@ [(non-empty-string? crop-name) (define crop (get-crop #:name crop-name)) (create-crop-requirement! profile nutrient-values crop)] - [else - (create-crop-requirement! profile nutrient-values)])) - (with-tx - (csv-for-each row->seed! next-row))) + [else (create-crop-requirement! profile nutrient-values)])) + (with-tx (csv-for-each row->seed! next-row))) (define-runtime-path fertilizer-csv "data/dolibarr_fertilizer_compositions_percentage.csv") (define (seed-existing-fertilizer-products!) @@ -113,10 +104,8 @@ (cond [(non-empty-string? brand-name) (create-fertilizer-product! canonical-name nutrient-values brand-name)] - [else - (create-fertilizer-product! canonical-name nutrient-values)])) - (with-tx - (csv-for-each row->seed! next-row))) + [else (create-fertilizer-product! canonical-name nutrient-values)])) + (with-tx (csv-for-each row->seed! next-row))) (define seed-sequence (list (cons "nutrients" seed-nutrients!) |