summaryrefslogtreecommitdiff
path: root/db/seeds
diff options
context:
space:
mode:
Diffstat (limited to 'db/seeds')
-rw-r--r--db/seeds/Target.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/db/seeds/Target.rb b/db/seeds/Target.rb
new file mode 100644
index 0000000..790fef7
--- /dev/null
+++ b/db/seeds/Target.rb
@@ -0,0 +1,21 @@
+Target.transaction do
+ wanted = {
+ "salades" => 40,
+ "tomates général" => 40,
+ "développement floral" => 20
+ }
+
+ # Ensure all referenced profiles exist
+ profiles = NutrientProfile.where(name: wanted.keys).index_by(&:name)
+ missing = wanted.keys - profiles.keys
+ raise "Missing NutrientProfile(s): #{missing.join(', ')}" if missing.any?
+
+ target = Target.find_or_create_by!(name: "Objectif par défaut")
+
+ target.target_allocations.destroy_all
+ wanted.each do |name, pct|
+ target.target_allocations.build(nutrient_profile: profiles[name], percentage: pct)
+ end
+
+ target.save!
+end
Copyright 2019--2025 Marius PETER