การ Migrate ข้อมูล MongoDB จาก Dev. ไป Prod.
- ติดตั้ง mongodb บน Prod. (ให้เวอร์ชั่นสูงกว่าบน Dev.- db version v4.0.6)
- เปิดโปรแกรม studio3T จากนั้นเลือก database ที่ต้องการ Export
- คลิ๊กขวา เลือก Export Collections…
- เลือก BSON – mongodump folder
- กำหนด Directory ที่จะ export ใน ‘Export target’ > uncheck Enable Compression (–gzip) จากนั้นกด Run
- รอจนโปรแกรมทำงานเสร็จ จะได้ไฟล์ json และ bson ดังภาพ
- Remote ไปยังเครื่อง Prod. Server ที่ต้องการ restore
- สร้าง directory เพื่อวางไฟล์ที่ได้จากการ dump * กรณีเป็น docker ต้องวางใน directory ที่ mount volumn ไว้ เช่น /docker/data/db (แต่เวลา set path restore ใน command line ต้องเป็น /data/db)
- Copy ไฟล์ที่ได้จากการ dump วางไว้ยัง directory ที่ต้องการ
- สร้าง database และ user ที่สามารถบริหารจัดการ database
use <db_name>;
db.createUser({
user: "admin",
pwd: "<password>",
roles: [ { role: "readWrite", db: "<db_name>" } ]
});
- พิมพ์คำสั่งเพื่อ 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