[Racket] Ferti hydroponic nutrient solver, redux.
Refactor database seeding logic.
db/seed.rkt
@@ -3,30 +3,27 @@
3
3
(provide seed-database!)
4
4
5
5
(require csv-reading
6
Removed:
gregor
7
6
racket/runtime-path
8
7
"conn.rkt"
9
8
"../models/nutrient.rkt"
10
9
"../models/nutrient-measurement.rkt"
11
10
"../models/crop.rkt"
12
11
"../models/crop-requirement.rkt"
13
Removed:
"../models/nutrient-target.rkt"
14
12
"../models/fertilizer-product.rkt")
15
13
16
14
(define (seed-database!)
17
Removed:
(seed-nutrients!)
18
Removed:
(seeded "nutrients")
19
Removed:
(seed-historical-nutrient-measurements!)
20
Removed:
(seeded "historical nutrient measurements")
21
Removed:
(seed-crops!)
22
Removed:
(seeded "crops")
23
Removed:
(seed-crop-requirements!)
24
Removed:
(seeded "crop requirements")
25
Removed:
(seed-existing-fertilizer-products!)
26
Removed:
(seeded "existing fertilizer products"))
15
Added:
(for ([phase (in-list seed-sequence)])
16
Added:
(match-define (cons entity seed-function) phase)
17
Added:
(seed-function)
18
Added:
(displayln (format "Seeded entity: ~a" entity))))
27
19
28
Removed:
(define (seeded entity)
29
Removed:
(displayln (format "Seeded entity: ~a" entity)))
20
Added:
(define seed-sequence
21
Added:
(list
22
Added:
(cons "nutrients" seed-nutrients!)
23
Added:
(cons "nutrient measurements" seed-historical-nutrient-measurements!)
24
Added:
(cons "crops" seed-crops!)
25
Added:
(cons "crop requirements" seed-crop-requirements!)
26
Added:
(cons "fertilizer products" seed-existing-fertilizer-products!)))
30
27
31
28
(define (seed-nutrients!)
32
29
(define nutrient-names (map nutrient-name (get-nutrients)))