【BackendWorkflow】ループ処理のadd Listが一部漏れる問題

・前提条件 ・発生している問題・エラーメッセージ ・実装したい機能

質問失礼します。

[やりたいこと]
バックエンドのワークフローにて2つの操作を行います。
step1では新しいthingの作成、
step2でその新しいthingを別のTypeのField[list型]リストに追加することです
(下記の画像参照)。

[問題]
step1の新しいthingの作成する処理は完璧に動作しているのですが、Step2で作成された全ての新しいthingが別のTypeのField[list型]に追加されないです。
例えば、backendのループ処理で27個のthingは作成されますが、そのうち22個のthingしかリストに追加されていませんでした。

このような状況が発生する理由は何でしょうか?
アドバイスをいただけると助かります。何卒よろしくお願いします!

試したこと

step1より前にstep2が動作していないか順序をつける為に、step2のonly whenにresult of step1 is not emptyなども足してみましたがだめでした。
(change another fieldにresult of step1があれば順序は守られる認識でしたが念の為試しました。)

補足情報 (調べたURL/参考になりそうな事例)

forumでも同様の問題が報告されており、回答がありませんした。

@richtetsuya さん
回答がしずらくもう少し情報が欲しいです。
回答していただきたい項目として

  1. DBの設計を確認させてもらっても良いでしょうか?
  2. Step1のWorkflowの中身
  3. Step1のデータは作られているのか?
  4. Thing to Changeの中身は、なぜ「last item」で絞り込んでいるのか

お手数ですがよろしくお願いします。

遅くなり申し訳ございません。
ご返信ありがとうございます!

画像はforumのURLの投稿者のもの
[Run backend workflow on a list - "Add Results of Step 1" not working properly - Need help - Bubble Forum]
をそのまま使用させて頂きましたので私のアプリのDB構造とstepの中身を記載します。

1.DB構造

2.Step1のWorkflowの中身



3.Step1のデータは作られているのか?
→全て作られています。step1のループ処理は完全に機能しています。

4.Thing to Changeの中身は、なぜ「last item」で絞り込んでいるのか
→サーチ結果は一つなのでこだわりはありません。first itemでも大丈夫です。

何卒よろしくお願い致します。

@richtetsuya さん
ご回答ありがとうございます。

こちら確認しました。
結論から言うと上記の作り方では難しいと言うことがわかりました。
この記事では、step1のものが最初でなくstep2が先に実行されることがあるのでその現象にはまっていそうです。

提案としては、SKUが登録されるのをトリガーにしてProductを更新しにいくのはいかがでしょうか?

スクリーンショット 2023-12-29 9.45.35
「New database trigger event」を選択
スクリーンショット 2023-12-29 9.49.07
「SKUを選択」
スクリーンショット 2023-12-29 9.49.15

  • Productの最初を検索
  • SKUの追加

提案2:
ProductにSKU[LIST]を持つのでなくSKUがProductのListを持つのはいかがでしょうか?

追記:

やはりおかしそうで自分でも実装してみました。

データが入らないケースとして
プロダクトは、存在していないケースだけでした。
「Product」は1件でも存在していますか?

「いいね!」 1

提案1
New database trigger event を使ったことがないので調べて試してみます!
ありがとうございます!

提案2
SKUにProduct一つを持たせる使用でも試してみます。

追記部分
Productは存在している状態でした。

教えていただいた方法で実装できるか試して追って報告させてください。
提案1の方法で解決できる気がしました。
本当にありがとうございます。

「いいね!」 2

返信遅くなり申し訳ありません。

Bubbleのsupportにも問い合わせてみました。
理由はProductのtype[List型] のSKU Listへの変更が競合して処理が完了しないようでした。

取り急ぎの対応としてはSKUのProductを持たせて、ループ処理の最後にそのProductを持ったSKUをProductのSKU type[List型]へSet Listすることで実装しようと思います!
この方法だとループ処理の個数分Do Searchを使用するのでWork Loadの消費が大きくなりそうなのが懸念なのでListで持つ方が後々のWork Loadの消費を抑えられるのか検証してみます。

本当にありがとうございました!

「いいね!」 1