NoCode Ninja@Bubbleを中心にプロトタイプの制作過程をアウトプット

プログラミング不要の「NoCode」について発信します。作ってみたいサービスや企画などありましたらDMくださいー。

【Bubble】Bubbleでの超重要な機能「データベース」 1、Workflowを使ってデータを格納しよう

f:id:nocodejp:20200212093922p:plain

 

こんにちは。NoCode Ninjaです。

今日は前回のWorkflowに続きBubbleでの超重要な機能「データベース」を紹介します。

前回はWorkflowについて紹介しました。

 

nocodejp.hatenablog.com

 

そして今回、いよいよ来ました、データベース(Database、以下DB)です。

DBを触ってきたエンジニアさんにはお馴染みかもしれませんが、触ったことない方にとっては「???」だと思いますし、実際に触ってみて扱い方(入れ方や呼び出し方)で苦労された(される)のではないかと思います。

概念自体はシンプルなので、落ち着いて学んでいきましょう。

それでは、いってみましょう。

 

データベースとは

 

データを格納するところ

そのまんま過ぎましたね(笑)

データを入れて、保存できるのです。それをソフトウェアでやっています。

広義で言うと、電話帳や住所録、図書館なども同じです。

これらはハードウェア(紙など)でやっています。

 

で、データベースの真髄はどちらかというと・・

 

いつでも好きなように出せて便利

なのです。

掲示板サイトがわかりやすいかもしれません。

何か書き込みをすればDBにデータが入っていき、それが繰り返されて蓄積されていきます。

そしてそれを出すための場所さえ置いておけば、いつでもどれだけでも入っているものを出せるのです。(入っている以上のものは出ませんが)

 

そしてDBにデータを入れるのも出すのも、その動作は全てWorkflowで設定します。

前回のWorkflowの記事とつながるわけです。

 

早速やってみる

 

それでは、早速やってみましょう。データをDBに入れてみます。

今回はInputに値(文字)を入れて、DBに格納するというのをやってみます。

 

DB側の設定

まず、データを入れるための場所を作るためにDB側の設定をします。

任意のMy appを開き、左側のDataタブをクリックします。

 

f:id:nocodejp:20200212080833p:plain

この画面が出てきます。

 

「New Type」で新しいTypeを作りましょう。

ここでは「test」としておき、「Create」をクリック。

あっさりと「test」が左のCustom data typeに追加され、右側のType nameのInputにも「test」と表示されていることが確認できます。

「Test」という大きいテーブルが出来たというイメージです。

ここにフィールドをそれぞれ作っていくということですね。

 

続いて「Create a new field」をクリックしましょう。

Field nameを何かつけます。ここでは、「corner1」にします。

Field typeを選択します。今回はテキストで作るので「text」を選択してください。

This field is a listのチェックは空欄でOKです。

 

そして、全く同じものをもう一つ作りましょう。

設定も同じで、「corner2」にします。

 

f:id:nocodejp:20200212081749p:plain

画像のようになっていたらOKです。

 

続いて、上の「App data」をクリックしてきちんと出来ているか確認します。

左側の「All test」をクリックしてみてください。

 

f:id:nocodejp:20200212081955p:plain

画像と同じようになっていると思います。

 

出来ていますね。

DB側はこれでOKです。続いて、実装です。

 

実装する

Designタブへ戻りましょう。

何もないページを用意して、作っていきます。

 

Inputエレメントを選択し、右側の任意の場所に設置します(2つ)。

Buttonエレメントを選択し、少し下に設置します(1つ)。

 

f:id:nocodejp:20200212082715p:plain

こんな感じ

 

目的は「それぞれのinputに値を入れて、DBに格納する」です。

これをWorkflowで実際に指示する。という意図を持って、作っていきます。

それでは、いきます。

 

inputを選択し、「Start/Edit Workflow」をクリック。

「Click here to add an action」→「Data(Things)」→「Create a new thing」を選択します。

 

f:id:nocodejp:20200212083801p:plain

 

少し複雑ですが、以下のように設定します。

 

赤く囲まれたTypeの欄は「test」を選択。

「+ Set another field」が出ますのでクリック。

「click」と書かれた赤い文字をクリックし、「corner1」を選択。

「=」その右に更に「click」が出てきますのでそこに「Input A's value」と入れてください。

一帯が青い文字になったらOKです。

corner2も同じように設定にしたいので、「+ Set another field」から「corner2」で「Input B's value」設定してください。

最終的に以下のようになればOKです。

 

f:id:nocodejp:20200212084505p:plain

画像と同じようになっていますでしょうか。

 

これはつまり、「Button(データを入れる)をクリックすると、InputA,Bの値がDBのtest typeにあるCorner1,2にそれぞれ入りますよ(新しく作成)」というWorkflowの指示となります。

これで、設定は完了といいたいところなのですが、これではButtonを押してDBに値が入ってもInputにある値は残ったままになってしまいます。

Webサイトでそんな仕様のところはまずないのと、実際にやってもらったらわかりますが、Buttonを押しても何の反応も無いので「押した感」が全然無いのです。。

ということでもう一つだけ、「Buttonを押したらInputの値を消す」を指示します。

 

「Step1」の次の「Click here to add an action」をクリックすると、上に「Reset relevant inputs」という項目が出ているので、これをクリックしてください。

Bubble側で次のオススメ動作が表示されるのですね。これだけで完了です。

 

f:id:nocodejp:20200212090054p:plain

クリックするだけ


 

これで設定は全て完了です。

 

実際に動かしてみる

Previewを見て実際にやってみましょう。

 

f:id:nocodejp:20200212085001p:plain

inputに値を入力します。

f:id:nocodejp:20200212085205p:plain

これでButtonを押してみましょう。


押しましたら、DBを確認します。

Dataタブへ行き、先ほどのApp data→All testsで確認します。

 

f:id:nocodejp:20200212085420p:plain

無事入っています!

 

成功しましたね!

試しに、逆もやってみましょう。

 

f:id:nocodejp:20200212085556p:plain

 

f:id:nocodejp:20200212085635p:plain

成功しています!

 

これ以降、何を入れてもそれぞれのInputからそれぞれのcornerに値が入っていきます!

楽しいですけど、やりすぎ注意ですよー笑

 

まとめ

 

これで、DBへ格納するというDBに対して実際に動くものが出来ました。

初めてだとなかなか難しいというかとっつきづらいのですが、これを見ながら順番にやっていくと必ず出来ると思います。

ちょっとした達成感が得られるかもしれません(笑)

ひとまず、今回はこれで目的達成です。

 

次回は、「入れた値を出す」を紹介します。

 

それでは、また!