From 0411d731cf2018794b4f10154e3af8c875faa99c Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sun, 30 Nov 2025 15:06:48 +0100 Subject: Introduce crop rotations. These will probably replace nutrient targets as the main entry point for nutrient requirement calculations. --- db/migrations.rkt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'db/migrations.rkt') diff --git a/db/migrations.rkt b/db/migrations.rkt index dfb216e..86c9cce 100644 --- a/db/migrations.rkt +++ b/db/migrations.rkt @@ -143,6 +143,30 @@ #:constraints (primary-key id) (foreign-key crop_id #:references (crops id) #:on-delete #:cascade)))) +(define-migration "create table crop_rotations" + (list (create-table #:if-not-exists crop_rotations + #:columns [id integer #:not-null] + ;; ISO8601 date + [rotation_date text #:not-null] + [nutrient_measurement_id integer] + #:constraints (primary-key id) + (foreign-key nutrient_measurement_id + #:references (nutrient_measurements id) + #:on-delete + #:set-null) + (unique rotation_date)))) + +(define-migration + "create table crop_rotation_requirements" + (list (create-table + #:if-not-exists crop_rotation_requirements + #:columns [crop_rotation_id integer #:not-null] + [crop_requirement_id integer #:not-null] + [proportion_percent integer #:not-null] + #:constraints (primary-key crop_rotation_id crop_requirement_id) + (foreign-key crop_rotation_id #:references (crop_rotation id) #:on-delete #:cascade) + (foreign-key crop_requirement_id #:references (crop_requirement id) #:on-delete #:cascade)))) + ;;;;;;;;;;;;;; ;; FERTILIZERS ;;;;;;;;;;;;;; -- cgit v1.2.3