diff options
author | Marius Peter <dev@marius-peter.com> | 2025-09-08 21:43:25 +0200 |
---|---|---|
committer | Marius Peter <dev@marius-peter.com> | 2025-09-08 21:43:25 +0200 |
commit | 73283f2f5153c77f72b6a29e98f173628f5e1057 (patch) | |
tree | af0098a91115852449c51a2929d471acf3a9f568 /db | |
parent | 7116826b854188604e21e2a613ac6672b6fd81f3 (diff) |
Diffstat (limited to 'db')
-rw-r--r-- | db/seeds.rb | 3 | ||||
-rw-r--r-- | db/seeds/Target.rb | 21 |
2 files changed, 23 insertions, 1 deletions
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 |