diff options
| -rw-r--r-- | db/migrations.rkt | 22 | 
1 files changed, 21 insertions, 1 deletions
diff --git a/db/migrations.rkt b/db/migrations.rkt index deda1ac..e0a1ef2 100644 --- a/db/migrations.rkt +++ b/db/migrations.rkt @@ -67,7 +67,27 @@                                #:on-delete #:cascade)                   (foreign-key fertilizer_product_id                                #:references (fertilizer_products id) -                              #:on-delete #:cascade)) +                              #:on-delete #:cascade) +                 (unique nutrient_measurement_id) +                 (unique nutrient_target_id) +                 (unique crop_requirement_id) +                 (unique fertilizer_product_id) +                 (check (or (and (is-not-null nutrient_measurement_id) +                                 (is-null nutrient_target_id) +                                 (is-null crop_requirement_id) +                                 (is-null fertilizer_product_id)) +                            (and (is-null nutrient_measurement_id) +                                 (is-not-null nutrient_target_id) +                                 (is-null crop_requirement_id) +                                 (is-null fertilizer_product_id)) +                            (and (is-null nutrient_measurement_id) +                                 (is-null nutrient_target_id) +                                 (is-not-null crop_requirement_id) +                                 (is-null fertilizer_product_id)) +                            (and (is-null nutrient_measurement_id) +                                 (is-null nutrient_target_id) +                                 (is-null crop_requirement_id) +                                 (is-not-null fertilizer_product_id)))))     "CREATE INDEX IF NOT EXISTS idx_nvs_meas ON nutrient_value_sets(nutrient_measurement_id)"     "CREATE INDEX IF NOT EXISTS idx_nvs_targ ON nutrient_value_sets(nutrient_target_id)"     "CREATE INDEX IF NOT EXISTS idx_nvs_crop ON nutrient_value_sets(crop_requirement_id)"  |