Anuchit Chalothorn

Human Knowledge Belongs to The World

Backup ข้อมูลใน Firebase FireStore และเอามาใช้งานกับ Emulators


21 Aug 2024, 22:24

พอดีต้องย้ายข้อมูลจาก Firebase เอามาใช้งาน dev ที่เครื่องตัวเองเพราะว่าติดเรื่อง AppCheck เลยไม่อยากไปตั้งค่า debug บ่อยๆ เพราะเดียวจะลืมเอาออก ก็เลย export ข้อมูลมาทำงานที่เครื่องตัวเองดีกว่า

เครื่องมือที่ต้องใช้ได้แก่ Firebase CLI, gcloud CLI

  1. ล็อกอิน Firebase
firebase login
      
  1. เรียกใช้งาน project ของคุณ
firebase use your-project-name
      
  1. สั่ง export ข้อมูลไปเก็บไว้ใน Cloud Storage
gcloud firestore export gs://your-project-name.appspot.com/<your-choosen-folder-name>
      
  1. สั่ง copy ไฟล์จาก Cloud Storage ลงมาที่เครื่อง
gsutil -m cp -r gs://your-project-name.appspot.com/<your-choosen-folder-name> /path/to/some/folder
      

เข้าไปที่ folder ของคุณ

cd /path/to/some/folder
      

จากนั้นเปลี่ยนชื่อไฟล์ metadata เป็น firestore_export.overall_export_metadata

mv your-choosen-folder-name.overall_export_metadata firestore_export.overall_export_metadata
      

แล้ว copy ไฟล์ที่ได้เอาไปใช้งาน

cp -R * /path/to/workspace/emulator/emulators_data/firestore_export/
      

เรียกใช้ Firebase Emulator ด้วยตำสั่ง

firebase emulators:start --import=./emulators_data/firestore_export --export-on-exit