summaryrefslogtreecommitdiff
path: root/db/seeds/Target.rb
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-09-08 21:43:25 +0200
committerMarius Peter <dev@marius-peter.com>2025-09-08 21:43:25 +0200
commit73283f2f5153c77f72b6a29e98f173628f5e1057 (patch)
treeaf0098a91115852449c51a2929d471acf3a9f568 /db/seeds/Target.rb
parent7116826b854188604e21e2a613ac6672b6fd81f3 (diff)
Add db seed for default Target.HEADmaster
Diffstat (limited to 'db/seeds/Target.rb')
-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