❤️‍🔥

Firebaseのローカル環境の引っ越しでハマった話

に公開

こんにちは、ワニかず@40歳 出戻りエンジニアです。

Firebaseのローカルのテスト環境を
うっかりホームディレクトリに作成してしまい、
その後、環境を別のディレクトリに移したい事ってありますよね(私のこと)

ホームディレクトリに作った環境で
そのままテストやらなんやら進めたことで、
後々、引っ越し作業をした際に、だいぶハマってしまいました。

何が起きたのか、そしてどのように解決したのか、
ということをまとめました。
※Firebaseに慣れた方は、「そんなことかよ」なことかもしれません。ご了承ください。

何が起きたか?

  • クライアントのFlutter側から
  • Firestoreのデータが
  • iOS側のみ見えない

という事象に最終的になりました。
※Android側も見えない状態でしたが、色々やっているうちに解消

引っ越しでこれがダメだった

ローカルの設定ファイル

  • firebase.json
  • firestore.indexes.json
  • firestore.rules
  • .firebaserc(隠しファイル)

といったものを引っ越し先のディレクトリに移動し、そこで
「firebase init function」
を実行すれば行けると思っていましたが、それが間違いでした。

上記の作業を行った後、
クライアントのFlutter側から接続しようにも、
iOS側からFirestoreのデータが見えない、という状況に陥りました。

Flutterのプロジェクトから
lib/firebase_options.dart ファイルを削除する
ios/Runner/GoogleService-Info.plist ファイルを削除する
android/app/google-services.json ファイルを削除する
macos/Runner/GoogleService-Info.plist(存在する場合)を削除する
• その後、flutterfire configureを実行

という手順をとってもダメでした。そのため、

私の環境の場合は、
該当のプロジェクトをFirebaseのコンソールから一度削除する必要がありました。

対処方法

Firebase側

  1. Firebaseのコンソールで、削除するプロジェクトを選択

  2. 左上の歯車をクリックし、「プロジェクトの設定」を選択

  3. 画面下に「プロジェクトを削除」があるのでクリック

  4. チェックボックスを選択して、「プロジェクトを削除」を選択

  5. プロジェクトを作り直し(手順は以下)
    https://zenn.dev/40_comeback_eng/articles/86cc4c24f7417b

  6. firebase init functionsを実行(手順は以下)
    https://zenn.dev/40_comeback_eng/articles/dba0efc2ec2ee0

Flutter側

lib/firebase_options.dart ファイルを削除する
ios/Runner/GoogleService-Info.plist ファイルを削除する
android/app/google-services.json ファイルを削除する
macos/Runner/GoogleService-Info.plist(存在する場合)を削除する
• その後、flutterfire configureを実行し、新しく作ったFirebaseのプロジェクトを指定

おしまいに

1日がこれで終わってしまいました。

Discussion