在開始之前,鼓勵大家先看看我早前一篇有關 Alamofire教學的文章(暫時只提供英文版)。雖然兩者之間沒有關連性,但可以對本文將會提及的技巧加深認知和了解。
Parse官方提供了有關遷移程序的詳細資訊,以及如何把App由Parse伺服器分別轉移至其他伺服器(例如 MongoDB)及雲端服務商。Parse 建議了兩個遷移程序:
- 把資料庫遷移至其他服務商,例如MongoLab或ObjectRocket。
- 把伺服器遷移至雲端寄存公司,例如AWS, Google App Engine 或是Heroku。
Parse同時把上述程序設定期限,建議在2016年4月28日或之前完成資料庫遷移,而伺服器則在2016年7月28日或之前。制定好時間表,預留充足的時間處理錯處、確保App運作正常,使你提供給使用者的服務無需中斷。
很多人會提出一個疑問,為何遷移要分成兩個步驟?作為一個BaaS(後端即服務),parse.com把 伺服器 及 資料庫 整合為一。伺服器操縱資料庫,進行查詢、獲取信息、處理密集工作任務,並與資料庫作出互動。二者工作緊密相連而形成後端系統。當Parse即將關閉,失去整合的平台,自然需要為伺服器和資料庫分別處理。
幸運地,Parse 的其中一個深受歡迎的功能 — 儀表板 (dashboard) — 仍然會維持服務 [更新:現在你可以自行安裝Parse Dashboard]。此外,大多數受parse使用者歡迎的功能仍然會存放在 parse-server,盡量使遷移無縫地進行(雖然這樣說,但有幾個改動我們需要注意的,下文會詳細提及)。
Parse 為整個遷移過程序提供詳細指引(如下)。
今天,我們重點放在第一句:資料庫遷移 ,讓你趕及四月期限來臨之前做好準備。至於伺服器遷移的部份,將會在接下來數週另有文章跟進。
若果你曾經讀過我上年十一月發佈的 Alamofire 文章,文中提及過使用一個名為 MongoLab 的資料庫數據服務。在這篇教程,我們將會深入探討如何利用 MongoLab 作為Parse 伺服器的資料庫。順帶一提,你可以在AWS, Google App Engine, Joyent 或 Heroku 寄存你個人自訂的 MongoDB。MongoDB 是眾多 no-SQL 資料庫中較多受歡迎且是 Parse 之根本。
在開始之前,到 MongoLab.com 先行註冊一個 MongoLab 賬戶。
點擊註冊(Sign Up)並建立賬戶。你將會被要求使用電郵激活賬戶。
完成電郵驗証程序,點擊 create new 按鈕。
在計劃 (Plan) 一項中選取 Single-Node,然後往下點選 Sandbox (免費)。由於這個教程中,免費 Sandbox 的容量已足以為範例App之使用,但在實際情況下,就要衡量你所需的資料庫大小而選定適合的存儲方案。
往下捲動至底部,加入資料庫名稱。我為這個範例取名 appcoda-test,當然,你可以自行選擇任何一個名字。然後按下 Create new MongoDB deployment 按鈕。
現在在 MongoDB 儀表板中選取資料庫。
接著新增用戶去管理資料庫。這裡使用了 admin 為用戶名稱,然後設定密碼。按下 create。
若一切正常,你可以看到一個新用戶配置!
這個時候在版面置頂出現這句提示 “To connect using a driver via the standard MongoDB URI” (請以標準 MongoDB URI 連接驅動器)。複製並貼上 URL,並登入賬戶進行修改。舉例:
mongodb://admin:[email protected]:17678/appcoda-test
大功告成!現在我們可以前往 Parse。
若你還未打開 Parse,可以點擊這裡以檢視 Parse 儀表板。然後按下你想遷移的App,再按下 App Setting。
往下捲動直至看到紅色 “migrate” (遷移)按鈕。按一下。
僅記一點,遷移指令一旦啟動之後就不能撤銷。所以踏入這程序之前,請務必 100% 肯定你已經為遷移做好準備。從這裡開始,你的資料庫不再與 Parse 有任何連繫。你將要自己管理和維護資料庫。當遷移過程若發生數據掉失或問題,都不會是 Appcoda、我、還是任何一個人的責任。然而,大多數情況之下,這個過程都是無縫的。
在 Mongolab 資料庫中,以我們剛才建立的資料庫URL進行修改。
你將會看到一個警告字句,詢問你是否要為資料庫路徑附上 SSL,我強烈建議你這樣做以增加安全性。利用下列參數為附加路徑:
?ssl=true
點擊 Begin the migration 啟動程序。Parse 亦會開始遷移過程。
確定開始之前仔細閱讀過提示。然後按下 finalize 作為你同意進行並完成遷移資料庫。
經確認後你已經準備好資料庫遷移工作,按下 finalize。
太好了!現在你的資料庫已經存放在 MongoLab。回到 MongoLab 儀表板確認遷移工作是順利完成。
回到 Parse。前往儀表板,新增一個類別去確認連結成功。這裡我把類別命名為 testClass,同樣,你可以自行使用任何名稱。
再一次打開 MongoLab 網站,往下捲動,在 SCHEMA 行之中可以看到新增的類別。
恭喜! 現在你已經可以透過 Parse 去讀寫 Mongo,例如 MongoLab。這個做法確實為開發者提供很大的便利。
後續文章將會為大家展示由 Parse 伺服器遷移往AWS, Google App Engine, Heroku 等平台的教學,請繼續密切留意!