zoukankan      html  css  js  c++  java
  • AppBoxFuture实战: 如何同步开发与生产环境的模型

      框架是用抽象模型驱动的方式来生成应用系统的,这样可以将这些模型序列化为相应的模型包文件,通过反序列化导入至其他部署环境内,从而实现开发环境与生产环境的同步,包括对应的数据库结构的同步。下面通过示例来演示如何操作:

    一、准备测试应用

    • 通过New->Application创建一个新应用,名称如:erp;
    • 选择新建的应用的Entities目录,通过New->Entity新建一个实体模型并映射至Default存储内,随便添加些属性;
    • 选择新建的应用的Services目录,通过New->Service新建一个服务模型,随便实现一个服务方法;
    • 选择新建的应用的Views目录,通过New->View新建一个视图模型;
    • 通过Models->Publish发布当前应用。

    二、导出应用模型包

      通过AppStore->Export Application选择相应的应用导出,参考以下动图:

    三、导入应用模型包

      导入应用模型包时框架会判断当前是否存在相同的应用,如果存在则会进行新旧模型的比对,进行相应的添加、删除、更新模型的操作,如果不存在则简单导入整个应用。在这里我们先尝试导入整个应用,所以先通过选择刚刚创建的应用,点击Models->Delete删除掉,然后再通过AppStore->Import Application重新导入,参考以下动图:

    注意:如果模型包使用了非默认数据库,导入前需要先创建相同名称相同类型的存储模型。

    四、更新应用模型包

      以上步骤导入了一个新的应用,下面步骤尝试更新应用:

    • 修改模型:比如实体模型添加一个属性或添加一个索引,服务模型修改一下逻辑;
    • 重新发布并导出为新的应用模型包;
    • 删除当前应用,导入旧的应用模型包(步骤二导出),查看一下模型定义;
    • 再重新导入新的应用包(本步骤导出),再查看一下模型是否更新了,另外可看一下数据库的数据表结构是否同步更新了。

    五、本篇小结

      模型包的导入导出功能一方面可以方便同步开发与生产环境,另一方面作者将来想建设一个应用及外包市场,这样大家就可以在市场上下载模型包直接导入修改。GitHub/enjoycode上用于测试的Windows的部署包[appbox.deploy.win]也由GitHub Action自动更新,Linux请自行编译测试。另一边码代码一边码文实属不易,作者需要您的支持请您多多点赞推荐!

  • 相关阅读:
    matlab中的开方sqrt用牛顿迭代法实现的代码
    转载 迭代算法实现开平方
    关于verilog中小数直接赋值
    关于verilog中的signed类型
    第二十五篇:使用 sigaction 函数实现可靠信号
    第二十四篇:可靠信号机制
    第二十三篇:信号机制的两个思考
    第二十二篇:信号的接收和处理
    hdu 2918(IDA*)
    hdu 1813(IDA*)
  • 原文地址:https://www.cnblogs.com/BaiCai/p/12468567.html
Copyright © 2011-2022 走看看