From 73283f2f5153c77f72b6a29e98f173628f5e1057 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Mon, 8 Sep 2025 21:43:25 +0200 Subject: Add db seed for default Target. --- db/seeds.rb | 3 ++- db/seeds/Target.rb | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 db/seeds/Target.rb (limited to 'db') diff --git a/db/seeds.rb b/db/seeds.rb index 245247e..d5f046d 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -9,7 +9,8 @@ # end MODELS = [ NutrientMeasurement, - NutrientProfile + NutrientProfile, + Target ].freeze def seed_file_for(model_class) 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 -- cgit v1.2.3