JavaScript SDKをコマンドラインから便利に使えるようにするライブラリ ncmb-cli がCSVからの会員情報のインポートに対応しました。これまで外部のプロジェクトを使ってきて、ニフクラ mobile backendへ移行する際などに利用できるでしょう。
インストール
インストールは npm にて行います。
npm install ncmb-cli -g
CSVのフォーマットについて
CSVは以下のカラムが必要です。
- userName(mailAddressとどちらか必須)
- mailAddress(userNameとどちらか必須)
- password
objectId、createDate、updateDateはあっても登録されません。もし同じobjectIdでデータが登録されている場合は上書きされます。
JSONも利用できます
JSONフォーマットも利用できます。JSONの方がオブジェクトが表現できるので簡単に使えそうです。
使い方
コマンドは次のように入力します。型変換をするのでオプションが追加されています。
nmcb csv import filename -b -d --object true --classname User -l
filenameはCSVファイルを指定してください。実行すると次のようにログが出ます。
$ ./bin/ncmb-csv-import /path/to/user.json --classname User -b -d --object true -l -a 1a4...936 -c 95f...22c Row #1, data saved. objectId is 7hjJLAVY0jGvHor6 Row #2, data saved. objectId is NOhEauPkP6u3ucMb Row #3, data saved. objectId is X9X4TJs2DxQdSeGd Row #4, data saved. objectId is lijhxitVW3i3J7IV Row #5, data saved. objectId is TdNTIMhDhP8FmbJ3
注意点
以下の点に注意してください。
- ObjectIdは変わってしまいます
- パスワードは維持されません
- パスワードはJSONまたはCSVに記述されている文字列になります
- 追加したカラムも反映されますが、ポインターなどは使えません
- メールアドレスの確認フラグが落ちてしまいます
「メールアドレス確認メールを送信する」に設定していると、インポート時に大量のメールが送信される可能性があります。
まとめ
ユーザ情報を他から移行する際にご利用ください。ただし制約も多いので、注意点を把握した上で試してみてください。