XEROTTA
業務自動化公開日:

業務フローの改修で既存データを守る:比較対象と戻し方を先に決める

執筆:XEROTTA編集部

ITサービス・業務改善の実務チーム

業務フローの改修で既存データを守る:比較対象と戻し方を先に決める
KNOWLEDGE / VISUAL GUIDE業務自動化
業務フローの改修で既存データを守る:比較対象と戻し方を先に決める
  1. 01

    まず考えたい問い

    重複防止を追加しただけなのに、既存の登録項目が消えた。

  2. 02

    設計の要点

    フロー定義、接続、既存行、稼働状態を別々に記録します。

  3. 03

    仕組みと判断の分かれ目

    比較単位を定義する

本文のポイントを図で整理

Conclusion

この記事の結論

フロー定義、接続、既存行、稼働状態を別々に記録します。フローを戻すことと、データを戻すことも別の操作です。

まず考えたい問い

重複防止を追加しただけなのに、既存の登録項目が消えた。こうした回帰を防ぐには、新機能の成功条件に加え、「変わってはいけないもの」を検証可能な形にします。

対象は、この領域を実装・運用する技術者と、仕組みを学びたい方です。

設計の要点

フロー定義、接続、既存行、稼働状態を別々に記録します。フローを戻すことと、データを戻すことも別の操作です。

図解:変更前を保存 → 差分だけ適用 → 既存値を照合

*図は処理と検証の関係を示す模式図です。実測値や性能比較ではありません。*

仕組みと判断の分かれ目

比較単位を定義する

行数が同じでも、値が書き換わっていれば保持にはなりません。対象行IDと業務上重要な列を取得し、列ごとの型・空値・日時の比較規則を決めます。定義JSON全体は生成日時などが変わる場合があるため、意図した変更と無関係な差分を分けます。

戻し方を実行前に用意する

変更直前のエクスポート、接続参照、フローIDを保存します。復旧時に新しいフローを増やすと、二重起動の原因になります。追加列の削除や過去実行の再送も、定義の復元には含めません。隔離試験で新機能を確認した後、本番保存済み定義とOn/Off状態を読み戻し、新しい業務イベントは別途観測します。

コード・データで表すと

次は設計を読み解くための例です。疑似コードや概念表記を含み、環境へそのまま貼り付けるための完成コードではありません。

check = {
  "trigger_unchanged": True,
  "connection_unchanged": True,
  "existing_rows_equal": True,
  "only_expected_definition_diff": True
}
assert all(check.values())

ここまで試してから、動いたと判断する

試験する条件期待する結果
新規の正常入力期待する列に1件登録
既存行の前後比較対象列の値が一致
復旧の机上確認同じフローへ戻す手順が明確

正常系の確認だけでなく、失敗時に残るデータ、外部への副作用、再実行の可否も記録します。確認した対象・版・日時を残すと、後から同じ条件で追試できます。

小さな演習

自分のフローで「変更してよい3項目」と「保持する5項目」を書き出してください。それぞれの証拠をどの画面・出力で確認するかまで決めます。

試験結果を「観測した事実」「そこからの判断」「まだ確かめていない条件」に分けて書いてみてください。実装を説明する力は、動く理由と止まる理由を言葉にすることで磨かれます。

適用範囲と確認事項

設計例です。自社環境での適用前に、権限・製品仕様・既存データへの影響を検証してください。 本記事は2026年10月時点の対応・設計検討を一般化した解説です。内部環境の識別子や実データは掲載していません。

参考資料

関連サービス

関連する支援例・参考費用

Contact

ITと業務の課題、
まずはお聞かせください。

「何から手を付けるべきか分からない」という段階からのご相談を歓迎します。現状の整理から、貴社に合った進め方をご提案します。