栽培管理アプリを作ってます㉕:苗床管理を独立させた

これまで栽培管理アプリでは、ハウスの状態を「栽培中」「準備中」「空き」などに分けて管理していました。

栽培を始める前の作業は「準備中」に記録し、栽培が始まったら、その準備履歴も引き継げる仕組みです。

これで問題ないと思っていたのですが、実際にナスやピーマンの育苗を始めて、一つ問題に気づきました。

苗床の作業は、必ずしもそのハウスで栽培する作物の準備作業ではない。

今回は、この問題を解決するために、苗床管理を独立させることにしました。


目次

これまでは「準備中」で育苗作業を記録していた

以前、栽培管理アプリに「準備期間」という仕組みを追加しました。

栽培を始める前にも、土壌改良や施肥、灌水など、さまざまな作業があります。

そこで、栽培開始前の作業を「準備中」として記録できるようにしました。

例えば、No.7ハウスを準備中にしておけば、そこで行った作業を記録できます。

さらに、準備中から栽培中へ移行すると、それまでの準備履歴を新しい栽培期間に紐付けられます。

この仕組み自体は便利です。

ところが、今回No.7ハウスを仮の苗床として使い、ナスやピーマンの播種、灌水、鉢上げなどを記録していました。

そして、ふと気づきました。

No.7ハウスで育てた苗を別のハウスに移動したら、この履歴はどうなるんだろう?

No.7ハウスでは、今後別の作物を栽培する予定です。
(正式な苗床をまだ確保していないため、空きハウスに仮でいれている)

そのまま栽培を開始すると、ナスやピーマンの育苗履歴まで、No.7の新しい栽培期間に紐付いてしまいます。

これは困ります。

ハウス管理画面(現状はこの準備中のNo.7ハウスを苗床として登録していた)

苗床の場所がまだ決まっていない

今回、苗床の管理方法を見直すことになったのには、もう一つ理由があります。

実は、まだ苗床をどこに設置するか決めていません。

既存のハウスを苗床として利用するのか、それとも育苗専用の施設を別に建てるのか。そのあたりも含めて検討している段階です。

そのため、現在は空いているハウスを利用しながら育苗しています。

最初はNo.7ハウスでナスやピーマンの播種を行いました。

その後、No.8ハウスにナスを定植したので、その空いたスペースに苗を移動しました。

今後はNo.6ハウスにビニールを張って、苗床として利用する予定ですが、準備が少し遅れています。

つまり、現状は、

  • No.7ハウスで播種・育苗を開始
  • No.8ハウスの空いたスペースに移動
  • 今後はNo.6ハウスへ移動する予定

という状況です。

もちろん、苗床の場所が決まれば、こうした移動は減ると思います。

ただ、今のように仮の場所で育苗している間も、作業履歴はきちんと残しておきたいところです。

かといって、苗を移動するたびに、栽培期間やハウスとの紐付けを変更するのは面倒です。

そもそも、育苗管理で残したいのは、どのハウスを使ったかという情報よりも、苗に対してどのような作業を行ったかという記録です。

いつ播種したのか。

いつ灌水したのか。

いつ鉢上げしたのか。

苗の状態はどうだったのか。

こうした履歴を、苗床としてまとめて確認できれば十分です。

そこで、苗床を特定のハウスや栽培期間に紐付けず、独立して管理できるようにすることにしました。


「屋外・露地」と同じように独立した作業対象にする

アプリには、もともと「屋外・露地」という作業対象があります。

これはハウスの栽培期間とは別に、場所を選んで作業を登録できる仕組みです。

今回の苗床管理も、この仕組みを参考にしました。

ただし、苗床を屋外・露地の一部として扱うのではなく、独立した作業対象として追加します。

新しく追加した「苗床」では、次の作業を登録できるようにしました。

  • 灌水
  • 施肥
  • 防除
  • 作業
  • その他
  • 写真

既存の作業登録機能をそのまま利用するので、入力方法はほとんど変わりません。

苗床には栽培開始や栽培終了の概念も設けません。

一度登録すれば、そのまま継続して使える仕組みです。

苗床管理画面を追加

苗床の登録はハウス新規登録から

苗床をどこから作成するかも少し考えました。

最初は、作業登録画面に「苗床を作成」というボタンを設けていました。

ただ、作業を登録する画面で、新しい管理対象まで作成するのは少し不自然です。

そこで、ハウス管理の「新規登録」から作成できるように変更しました。

ハウスタイプに、これまでの「単棟」「連棟」「屋外・露地」に加えて、「苗床」を追加しています。

苗床を選択した場合は、ハウス名や幅、長さ、畝数などの入力は不要です。

保存すると「苗床」という作業対象が一つ作成されます。

複数のハウスを苗床として利用する可能性はありますが、苗床そのものを複数登録する必要はないと判断しました。

一つの苗床に作業履歴をまとめるほうが、管理も簡単だからです。


作業ごとに「場所」を任意入力できるようにした

苗床を一つにまとめることにしましたが、実際にどこで作業したかを記録したい場合もあります。

そこで、作業登録に「場所」という任意入力欄を追加しました。

例えば、

  • No.7
  • No.8
  • No.6

など、自由に入力できます。

もちろん、空欄でも登録できます。

この場所は、ハウス管理に登録しているNo.7やNo.8と直接紐付くものではありません。

あくまで作業履歴に残すメモのような項目です。

例えば、場所に「No.6」と入力しても、No.6ハウスの状態は変わりません。

No.6が「空き」であれば、そのまま空きハウスとして管理できます。

苗床として利用しているからといって、無理に「栽培中」や「準備中」に変更する必要はありません。

このくらい単純な仕組みのほうが、実際の作業では使いやすそうです。


作業履歴にも「苗床」を追加した

作業登録だけでなく、作業履歴にも「苗床」を追加しました。

これまでの作業履歴は、基本的に栽培期間を選択して確認する仕組みでした。

今回は、その選択肢に「苗床」を追加しています。

苗床を選択すると、栽培期間に関係なく、苗床として登録した作業が日付順に表示されます。

見出しも、

  • 苗床 – 灌水
  • 苗床 – 鉢上げ
  • 苗床 – 写真

といった形で表示します。

作業者や作業時間、メモ、場所なども確認できます。

写真についても、これまでと同じように保存・表示できるようにしました。


No.7に登録していた育苗履歴を移行する

機能を追加しただけでは、まだ問題が残っています。

これまでNo.7の「2026年夏準備」に登録していた育苗履歴です。

この履歴を苗床に移さなければなりません。

ただし、No.7には以前アスパラガスを栽培していた履歴もあります。

2026年4月15日まではアスパラガスの栽培履歴。

9月16日には、No.7の土壌EC・pHを測定した記録があります。

そして、10月1日からナスやピーマンの育苗を始めました。

そこで、移行するのは10月1日以降の育苗履歴だけにしました。

実際に対象となったのは、28レコードです。

作業履歴には、複数の作業者による記録が一つの作業としてまとめられている場合もあるので、画面上の件数とデータベースのレコード数は必ずしも一致しません。

今回は、SupabaseのSQL Editorを使って移行しました。

データをコピーするのではなく、紐付け先を変更する

最初は、No.7の履歴を苗床にコピーして、確認後に元の履歴を削除することも考えました。

ただ、この方法では写真の扱いが少し複雑になります。

アプリでは、作業履歴と写真の情報を別々に管理しています。

作業履歴を新しくコピーすると、写真との紐付けも考えなければなりません。

そこで今回は、既存の作業履歴をそのまま残し、所属先だけを変更する方法にしました。

具体的には、cult_logs テーブルの次の項目です。

カラム変更内容
field_idNo.7から苗床へ変更
preparation_period_id準備期間との紐付けを解除
bed_idNULL
location_noteNo.7を設定

cult_logs は作業履歴を保存しているSupabaseのテーブルです。

field_id は作業対象、preparation_period_id は準備期間との紐付けを表しています。

今回の変更では、作業日時やメモ、作業者、作業時間などはそのまま残しています。

写真の保存先も変更していません。

移行対象の28レコードを指定し、条件が一致しない場合は更新を取り消すSQLで処理しました。

実行後、28件すべてが苗床に移行していることを確認できました。


実際に使ってみて、また一つ改善できた

今回の苗床管理は、アプリを作っている段階では考えていなかった機能です。

当初は、ハウスごとに栽培期間を管理できれば十分だと思っていました。

栽培前の作業も、準備期間を設ければ対応できると考えていました。

ところが、実際にナスやピーマンの育苗を始めると、苗床は栽培するハウスとは別に管理したほうがよいことに気づきました。

しかも、苗床として利用する場所も途中で変わります。

こうしたことは、実際に使ってみないと分からないものです。

今回の改修で、

  • ハウスの栽培期間とは別に苗床を管理できる
  • 育苗作業を一つの履歴としてまとめられる
  • 苗を移動しても過去の履歴がそのまま残る
  • 必要な場合だけ作業場所を記録できる

という形になりました。

これなら、今後No.6やNo.1を苗床として使うことになっても、アプリ側の設定を変更する必要はありません。

また、今回よかったのは、これまで入力していた育苗履歴を失わずに移行できたことです。

播種から灌水、鉢上げ、写真まで、そのまま苗床の履歴として引き継げました。

アプリを作り始めた頃は、必要な機能を一通り揃えれば完成だと思っていました。

でも実際に農作業で使い始めると、想定していなかった使い方や問題が次々と出てきます。

今回もその一つでした。

今後も実際の栽培に合わせて、少しずつ改善していこうと思います。

目次