diff options
Diffstat (limited to 'db')
| -rw-r--r-- | db/migrations.rkt | 1 | ||||
| -rw-r--r-- | db/seed.rkt | 41 |
2 files changed, 21 insertions, 21 deletions
diff --git a/db/migrations.rkt b/db/migrations.rkt index 48e788f..d07b130 100644 --- a/db/migrations.rkt +++ b/db/migrations.rkt @@ -49,6 +49,7 @@ (list (create-table #:if-not-exists nutrients #:columns [id integer #:not-null] [canonical_name text #:not-null] + [french_name text #:not-null] [formula text #:not-null] #:constraints (primary-key id) (unique canonical_name) diff --git a/db/seed.rkt b/db/seed.rkt index 9693e89..7530651 100644 --- a/db/seed.rkt +++ b/db/seed.rkt @@ -23,28 +23,27 @@ seed-existing-fertilizer-products!)) (define (seed-nutrients!) - (define nutrient-names (map nutrient-name (get-nutrients))) + (define nutrient-names (map nutrient-canonical-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)]) - (match-define (cons name formula) pair) - ;; Ensure idempotence - (unless (member name nutrient-names) - (create-nutrient! name formula))))) + '(("Nitrate Nitrogen" "Azote nitrique" "NNO3") ("Phosphorus" "Phosphore" "P") + ("Potassium" "Potassium" "K") + ("Calcium" "Calcium" "Ca") + ("Magnesium" "Magnésium" "Mg") + ("Sulfur" "Soufre" "S") + ("Sodium" "Sodium" "Na") + ("Chloride" "Chlore" "Cl") + ("Silicon" "Silicium" "Si") + ("Iron" "Fer" "Fe") + ("Zinc" "Zinc" "Zn") + ("Boron" "Bore" "B") + ("Manganese" "Manganèse" "Mn") + ("Copper" "Cuivre" "Cu") + ("Molybdenum" "Molybdène" "Mo") + ("Ammonium Nitrogen" "Azote ammoniacal" "NNH4"))) + (with-tx (for ([nutrient-data (in-list default-nutrients)]) + (match-define (list canonical-name french-name formula) nutrient-data) + (unless (member canonical-name nutrient-names) + (create-nutrient! canonical-name french-name formula))))) (define-runtime-path measurement-csv "data/dolibarr_nutrient_measurements_ppm.csv") (define (seed-historical-nutrient-measurements!) |