1. 程式人生 > >AppBoxFuture實戰: 如何同步開發與生產環境的模型

AppBoxFuture實戰: 如何同步開發與生產環境的模型

  框架是用抽象模型驅動的方式來生成應用系統的,這樣可以將這些模型序列化為相應的模型包檔案,通過反序列化匯入至其他部署環境內,從而實現開發環境與生產環境的同步,包括對應的資料庫結構的同步。下面通過示例來演示如何操作: # 一、準備測試應用 * 通過New->Application建立一個新應用,名稱如:erp; * 選擇新建的應用的Entities目錄,通過New->Entity新建一個實體模型並對映至Default儲存內,隨便新增些屬性; * 選擇新建的應用的Services目錄,通過New->Service新建一個服務模型,隨便實現一個服務方法; * 選擇新建的應用的Views目錄,通過New->View新建一個檢視模型; * 通過Models->Publish釋出當前應用。 # 二、匯出應用模型包   通過AppStore->Export Application選擇相應的應用匯出,參考以下動圖: ![](https://img2020.cnblogs.com/blog/4928/202003/4928-20200312130940282-1567722359.gif) # 三、匯入應用模型包   匯入應用模型包時框架會判斷當前是否存在相同的應用,如果存在則會進行新舊模型的比對,進行相應的新增、刪除、更新模型的操作,如果不存在則簡單匯入整個應用。在這裡我們先嚐試匯入整個應用,所以先通過選擇剛剛建立的應用,點選Models->Delete刪除掉,然後再通過AppStore->Import Application重新匯入,參考以下動圖: ![](https://img2020.cnblogs.com/blog/4928/202003/4928-20200312130953907-1419929369.gif) > 注意:如果模型包使用了非預設資料庫,匯入前需要先建立相同名稱相同型別的儲存模型。 # 四、更新應用模型包   以上步驟匯入了一個新的應用,下面步驟嘗試更新應用: * 修改模型:比如實體模型新增一個屬性或新增一個索引,服務模型修改一下邏輯; * 重新發布並匯出為新的應用模型包; * 刪除當前應用,匯入舊的應用模型包(步驟二匯出),檢視一下模型定義; * 再重新匯入新的應用包(本步驟匯出),再檢視一下模型是否更新了,另外可看一下資料庫的資料表結構是否同步更新了。 # 五、本篇小結   模型包的匯入匯出功能一方面可以方便同步開發與生產環境,另一方面作者將來想建設一個應用及外包市場,這樣大家就可以在市場上下載模型包直接匯入修改。GitHub/enjoycode上用於測試的Windows的部署包[appbox.deploy.win]也由GitHub Action自動更新,Linux請自行編譯測試。另一邊碼程式碼一邊碼文實屬不易,作者需要您的支援請您多多點贊