Add uniqueness and coherency checks for nutrient value sets.

Commit
9620cae7bba35503a2ea4679938f76749a34245a
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
db/migrations.rkt
index deda1ac1..e0a1ef2c 100644..100644
@@ -67,7 +67,27 @@
67 67 #:on-delete #:cascade)
68 68 (foreign-key fertilizer_product_id
69 69 #:references (fertilizer_products id)
70 Removed: #:on-delete #:cascade))
70 Added: #:on-delete #:cascade)
71 Added: (unique nutrient_measurement_id)
72 Added: (unique nutrient_target_id)
73 Added: (unique crop_requirement_id)
74 Added: (unique fertilizer_product_id)
75 Added: (check (or (and (is-not-null nutrient_measurement_id)
76 Added: (is-null nutrient_target_id)
77 Added: (is-null crop_requirement_id)
78 Added: (is-null fertilizer_product_id))
79 Added: (and (is-null nutrient_measurement_id)
80 Added: (is-not-null nutrient_target_id)
81 Added: (is-null crop_requirement_id)
82 Added: (is-null fertilizer_product_id))
83 Added: (and (is-null nutrient_measurement_id)
84 Added: (is-null nutrient_target_id)
85 Added: (is-not-null crop_requirement_id)
86 Added: (is-null fertilizer_product_id))
87 Added: (and (is-null nutrient_measurement_id)
88 Added: (is-null nutrient_target_id)
89 Added: (is-null crop_requirement_id)
90 Added: (is-not-null fertilizer_product_id)))))
71 91 "CREATE INDEX IF NOT EXISTS idx_nvs_meas ON nutrient_value_sets(nutrient_measurement_id)"
72 92 "CREATE INDEX IF NOT EXISTS idx_nvs_targ ON nutrient_value_sets(nutrient_target_id)"
73 93 "CREATE INDEX IF NOT EXISTS idx_nvs_crop ON nutrient_value_sets(crop_requirement_id)"