summaryrefslogtreecommitdiff
path: root/db/seeds/3_crops.rb
blob: 6a5c10fca2b3ca4489513d8cc98eb4f9a6a33663 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# crop_type: 0=leafy greens, 1=fruits, 2=herbs

LEAFY = {
  nno3: 150,
  p: 31,
  k: 210,
  ca: 90,
  mg: 24,
  s: 32,
  fe: 1.0,
  mn: 0.25,
  zn: 0.13,
  b: 0.16,
  cu: 0.023,
  mo: 0.024,
  nnh4: 5,
  # keep low for leafy
  na: 10,
  cl: 5,
  si: 20
}

HERB = LEAFY # Herbs run well on the Cornell leafy recipe

TOMATO = {
  # CEAC Stage 3 "multi-crop" / mature tomato
  nno3: 190,
  p: 47,
  k: 350,
  ca: 200,
  mg: 65,
  s: 102,
  fe: 2.0,
  mn: 0.55,
  zn: 0.33,
  b: 0.28,
  cu: 0.05,
  mo: 0.05,
  nnh4: 0,
  # CEAC recipes are NO3-N; keep NH4 minimal
  na: 20,
  cl: 25,
  si: 20
}

HOT_PEPPER = {
  # Mature greenhouse pepper (HortAmericas summary of UA recipes)
  nno3: 180,
  p: 50,
  k: 280,
  ca: 200,
  mg: 45,
  s: 20,
  fe: 1.0,
  mn: 0.55,
  zn: 0.33,
  b: 0.30,
  cu: 0.05,
  mo: 0.05,
  nnh4: 15,
  na: 20,
  cl: 10,
  si: 20
}

STRAWBERRY = {
  # UA strawberry (Yamazaki) emphasizes lower EC; use conservative macros
  nno3: 120,
  p: 30,
  k: 200,
  ca: 120,
  mg: 35,
  s: 50,
  fe: 1.5,
  mn: 0.50,
  zn: 0.20,
  b: 0.30,
  cu: 0.05,
  mo: 0.05,
  nnh4: 5,
  na: 10,
  cl: 5,
  si: 20
}

RASPBERRY = {
  # Sparse data; align with strawberry but a touch higher vigor
  nno3: 140,
  p: 35,
  k: 230,
  ca: 150,
  mg: 40,
  s: 50,
  fe: 1.5,
  mn: 0.50,
  zn: 0.20,
  b: 0.30,
  cu: 0.05,
  mo: 0.05,
  nnh4: 5,
  na: 15,
  cl: 5,
  si: 20
}

[
  [ "lettuce",          0, LEAFY ],
  [ "kale",             0, LEAFY ],
  [ "cabbage, chinese", 0, LEAFY ],
  [ "tomatoes",         1, TOMATO ],
  [ "raspberries",      1, RASPBERRY ],
  [ "strawberries",     1, STRAWBERRY ],
  [ "hot peppers",      1, HOT_PEPPER ],
  [ "parsley",          2, HERB ],
  [ "chives",           2, HERB ],
  [ "italian basil",    2, HERB ],
  [ "dill",             2, HERB ]
].each do |name, type, nutrient_requirements|
  Crop.find_or_create_by!(name: name) do |c|
    c.crop_type = type
    c.attributes = nutrient_requirements
  end
end

puts "Crops: #{Crop.count}"
Copyright 2019--2025 Marius PETER