r.sato
1
ユーザーIDを0001、0002、0003のように、加入順に番号の頭に0を付けてIDを付与したいのですが、うまくいきません。
text型としてなら登録できますが、Work flowのSign the user upで
ユーザーID = Search for Users:last item’sユーザーID+1
としている為、number型で登録しています。
プラグインのadd padding to numbersを使って試しましたが、表示はできてもデータベースに登録できませんでした。
他の方法であったり、いい案があれば教えて下さい。
私の理解では、Bubbleがバックエンドに使っているデータベースはトランザクション仕様上、シーケンスIDを付与する設計は向いていないという認識です。
具体的には
上記が一見動作しているように見えても、完全に同じタイミングで処理が実行された場合、同じIDのユーザが生成されるはずです。
上記の設計上の問題を認識したうえで、ビジネス要件上シーケンスIDが回避不可能なら
a. number型で登録しておき、表示時に0埋めする
b. text型として登録する
c. 1001のように先頭を0ではなくす
方法があると思います。
Bを選択したくない理由はなぜなのでしょうか?
r.sato
3
ご回答ありがとうございます。
bを選択したくない理由としては、text型だと最後に登録されたユーザーIDに1を足してCurrent UserのユーザーIDを付与する事ができないからでした。
そもそも上記の設計はおすすめできないという事ですね。
データベース上でユーザーが何番目に登録されたか確認できるように、IDとして管理する予定でしたが、他に考えられる方法はありますか?
よろしくお願いします。
これはtextをconverted to numberすれば+1できると思います。
標準でCreated dateのフィールドが用意されているので、これを使って昇順に並び替えて、表示するときに連番をつければ実現できそうです。
r.sato
5
丁寧な解説、回答をありがとうございます。
参考にさせていただきます。