การ Migrate ข้อมูล MongoDB จาก Dev. ไป Prod.

  1. ติดตั้ง mongodb บน Prod. (ให้เวอร์ชั่นสูงกว่าบน Dev.- db version v4.0.6)
  2. เปิดโปรแกรม studio3T จากนั้นเลือก database ที่ต้องการ Export
  3. คลิ๊กขวา เลือก Export Collections…
  4. เลือก BSON – mongodump folder
  5. กำหนด Directory ที่จะ export ใน ‘Export target’ > uncheck Enable Compression (–gzip) จากนั้นกด Run
  6. รอจนโปรแกรมทำงานเสร็จ จะได้ไฟล์ json และ bson ดังภาพ
  7. Remote ไปยังเครื่อง Prod. Server ที่ต้องการ restore
  8. สร้าง directory เพื่อวางไฟล์ที่ได้จากการ dump * กรณีเป็น docker ต้องวางใน directory ที่ mount volumn ไว้ เช่น /docker/data/db (แต่เวลา set path restore ใน command line ต้องเป็น /data/db)
  9. Copy ไฟล์ที่ได้จากการ dump วางไว้ยัง directory ที่ต้องการ
  10. สร้าง database และ user ที่สามารถบริหารจัดการ database
    use <db_name>;
    db.createUser({
    user: "admin",
    pwd: "<password>",
    roles: [ { role: "readWrite", db: "<db_name>" } ]
    });
  11. พิมพ์คำสั่งเพื่อ restore ข้อมูล
    docker exec zti_mongo mongorestore --db <db_name> --host localhost --port 27017 --username admin --password '<password>' <path_to_dump_directory_in_docker>
    เช่น
    docker exec mongo mongorestore --db dedeElearning --host localhost --port 27017 --username admin --password '1234' /data/db/dedeElearning