場合によっては、ツールやコマンドもしくはプログラムを書いた方が良い場合がありますが、Flutterflow内で完結させたい場合に確認しているアクションをシェアします。
【一般的な懸念事項】
他のDBをcsv化して移行する際に、FlutterflowのCollectionのContents managerから単純にcsvでインポートしても、FirebaseAuthenticationのユーザー設定は作成されない。
その為、下記のアクションでFirebaseAuthenticationのユーザー設定まで作成を行う。(パスワードは引き継がない前提)
【手順】
① 他のDBのユーザー情報をcsvにまとめる
② Flutterflow側で①を入れるためのテンポラリのCollectionを作成する
③ ②と別に正式に使用するusersコレクションのフィールドを設けておく
④ ②に①のcsvをインポートさせる(そのまま移行できないパスワードのフィールドは一時的なものを平文で設定する *空きにしておくとImportでエラーになる)
⑤ ②からusersコレクションに移動するためのアクションを設定するテンポラリのページを作成
⑥ ⑤に下記のアクションを実行するボタンを設定する
事前設定:AppStateでカウンタ(初期値0)と
移行する総ユーザー数を設定する値を設ける
・ループ処理で下記のアクションをループさせる
②のコレクションのindex番号がカウンタの値と
同じコレクションを
FirestoreのQueryCollectionアクションで引っ張ってくる
↓
Firebase autenticationの
Create accountアクションで上記データの
Email、パスワードを元にアカウント作成。
Create accountアクション内でusersコレクションを
作成するオプションも有効にしておく。
その他必要なフィールドも適用可能。
(この時点でusersコレクションとFirebaseAuthenticationの
両方にユーザーが作成されます)
*セキュアにやる場合はテンポラリの
ランダム英数字のパスワードを
作成するアクションをひとつ前に加えても良い。
↓
(Option)
必要であれば移行したこととテンポラリパスワードを
ユーザーにメールで通知
brevoもしくはsendgridなどのAPIで対応可能
(一旦Firebaseにユーザーを作成するとパスワードをこちらで
認識できなくなるのでこの段階でないとパスワードを
通知できない)
↓
カウンタの値に+1させる
↓
ループ判定 → ユーザー数未満なら最初に戻る
⇒ ユーザー数 と同じならループをExit