初心者向け!Bubbleのデータベーストリガーイベント完全ガイド

Bubble

📌 データベーストリガーイベントとは?

Bubbleを使っていると、「ユーザーがメールアドレスを変更したときに自動で確認メールを送りたい」「新しい注文が入ったときに在庫を自動で調整したい」など、データの変化に応じて自動的に何かを実行したいケースがありますよね。そんなときに活躍するのがデータベーストリガーイベントです。

データベーストリガーイベントは、シンプルに言うと「データベース内の特定のデータが変化したときに自動的に実行される処理」のことです。これを使えば、データの作成・変更・削除に応じて、様々な自動処理が可能になります。

データベース データ変更 トリガーイベント アクション実行 ユーザー データ操作

図1: データベーストリガーイベントの基本的な仕組み

🔍 データベーストリガーイベントの種類

Bubbleでは、データに対して以下のような変化が起きたときにトリガーを設定できます:

イベントの種類 説明 使用例
データの作成 新しいデータが作成されたとき 新規ユーザー登録時に歓迎メールを送信
データの変更 既存のデータが変更されたとき ユーザーがメールアドレスを変更したときに確認メールを送信
データの削除 データが削除されたとき アカウント削除時にフィードバックアンケートを送信

⚙️ データベーストリガーイベントの作成方法

実際にトリガーイベントを作成する手順を、「ユーザーがメールアドレスを変更したときにアクションを実行する」という具体例で見ていきましょう。

Step 1: バックエンドエディターにアクセスする

データベーストリガーイベントはBubbleのバックエンド機能なので、まずはバックエンドエディターに移動します。

Step 2: 新しいワークフローを追加する

「+」ボタンをクリックして新しいワークフローを追加し、「A thing is modified event(何かが変更されたとき)」を選択します。

Bubbleバックエンドエディター ワークフロー API スケジュール + When a page is loaded When a button is clicked A thing is modified event

図2: データベーストリガーイベントの作成画面

Step 3: データタイプを選択する

Type(タイプ)フィールドで、監視したいデータタイプを選択します。今回の例では、ユーザーのメールアドレス変更を監視したいので、「User」を選択します。

Step 4: 条件式を構築する

次に、どのような変更に反応するかを指定する条件式を作成します。データベーストリガーイベントでは、変更前と変更後の2つのデータソースにアクセスできます:

  • Thing before change(変更前の状態)
  • Thing after change(変更後の状態)

今回の例では、「変更前のメールアドレス」と「変更後のメールアドレス」を比較し、違いがあればワークフローを実行するという条件式を作ります。

Only when: User before change email is not User after change email この条件式は「ユーザーのメールアドレスが変更された場合」にのみトリガーが実行されます 保存

図3: メールアドレス変更を検出する条件式の例

🧩 条件式の作り方

データベーストリガーイベントの条件式は、他の場所で使われる式と構造は似ていますが、次の2つのデータソースにのみアクセスできる点が特徴です:

Thing before change(変更前の状態) Thing after change(変更後の状態)

条件式の基本的な構造は次のとおりです:

[変更前のデータ] is not [変更後のデータ]

例えば、ユーザーのメールアドレスが変更されたかどうかを確認する条件式は:

User before change:email is not User after change:email

この条件式は「変更前のメールアドレスと変更後のメールアドレスが異なる場合」という意味になります。条件がtrueの場合、ワークフローが実行されます。

開始 データ変更 条件一致? アクション実行 何もしない Yes No

図4: データベーストリガーイベントの実行フロー

⚠️ 知っておくべき重要なポイント

条件式の重要性

データベーストリガーイベントは、技術的には常に実行されます。しかし、「Only when(条件が一致したときのみ)」の条件式が偽(false)を返すと、ワークフローの残りの部分は実行されません。

これが重要な理由:

  • 条件式がない場合、そのデータタイプに対するあらゆる変更でイベントが実行されます
  • 条件式なしで多くのトリガーイベントを設定すると、想定以上の処理能力を消費する可能性があります

データベーストリガーイベントの制限事項

データベーストリガーイベントには、いくつかの制限があります:

  • 管理者権限で実行される: プライバシーロールは適用されず、検索時にはすべての結果が返されます
  • 連鎖的なトリガーは発生しない: あるトリガーイベントが別のトリガーイベント(または自身)を起動することはありません
  • 同一ワークフロー内での複数の変更は1回のみトリガー: 1つのワークフローで複数のアクションがトリガーの条件に合致する場合でも、イベントは1回しか発生しません

💡 活用例

データベーストリガーイベントの具体的な活用例をいくつか見てみましょう:

ユースケース トリガー条件 実行されるアクション
メールアドレス変更確認 User before change:email is not User after change:email 確認メールの送信
在庫管理 Product before change:stock > 10 and Product after change:stock <= 10 在庫補充アラートの送信
ステータス変更通知 Order before change:status is not Order after change:status 顧客への通知メール送信
新規会員登録 User after change:created date is today 歓迎メールの送信

🧪 トリガーイベントのテスト方法

設定したトリガーイベントが正しく動作するかをテストする方法を紹介します:

Step 1: テスト用のデータを用意する

テスト用のユーザーやデータを作成します。

Step 2: トリガーとなる操作を実行する

データベースエディターやアプリのUIから、トリガー条件に合致する変更を行います。

Step 3: ログを確認する

Bubbleのログセクションで、トリガーイベントが実行されたかどうかを確認します。

📈 パフォーマンスの最適化

データベーストリガーイベントを効率的に使用するためのヒントをご紹介します:

最適化のポイント

  • 具体的な条件式を使用する: 必要なときだけトリガーが発動するよう、条件式を具体的に設定しましょう
  • 複数のトリガーを統合する: 類似した条件のトリガーは、可能であれば統合しましょう
  • APIワークフローを活用する: 連鎖的なトリガーが必要な場合は、APIワークフローをスケジュールして対応できます

まとめ:データベーストリガーイベントの威力

データベーストリガーイベントは、Bubbleアプリケーションに自動化の力をもたらす強力な機能です。適切に設定することで、ユーザー体験を向上させるだけでなく、アプリケーションの管理業務も大幅に効率化できます。

主なポイント:

  • データの変更に応じて自動的にアクションを実行できる
  • 条件式を使って、特定の変更にのみ反応するよう設定できる
  • 変更前と変更後のデータを比較して条件を設定できる
  • 管理者権限で実行される点や連鎖的なトリガーが発生しない点などの制限に注意

Bubbleのノーコード開発環境を最大限に活用するために、ぜひデータベーストリガーイベントをマスターしてください!

会社紹介

運営:株式会社Spovisor(スポバイザー)

株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。