<?xml version="1.0" encoding="utf-8"?>
<Tables xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model2022.xsd" NameSpace="Stardust.Data.Deployment" ConnName="Stardust" BaseClass="Entity" Output="" Version="11.3.2022.1013" Document="https://newlifex.com/xcode/model" DisplayName="" CubeOutput="../../Stardust.Web/Areas/Deployment" xmlns="https://newlifex.com/Model2022.xsd">
  <Table Name="AppDeploy" Description="应用部署。应用部署配置，单应用可有多个部署集合。新增版本并上传zip应用包，再到部署节点里发布">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用。对应StarApp" />
      <Column Name="Category" DataType="String" Description="类别" />
      <Column Name="Name" DataType="String" Master="True" Description="名称。应用名" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="Nodes" DataType="Int32" Description="节点。该应用部署集所拥有的节点数" />
      <Column Name="Version" DataType="String" Description="版本。应用正在使用的版本号" />
      <Column Name="FileName" DataType="String" Description="文件。应用启动文件，可直接使用zip包" Category="参数" />
      <Column Name="Arguments" DataType="String" Length="500" Description="参数。启动应用的参数" Category="参数" />
      <Column Name="WorkingDirectory" DataType="String" Length="200" Description="工作目录。应用根目录" Category="参数" />
      <Column Name="MaxMemory" DataType="Int32" Description="最大内存。单位M，超过上限时自动重启应用，默认0不限制" Category="参数" />
      <Column Name="Mode" DataType="Int32" Description="工作模式。0默认exe/zip；1仅解压；2解压后运行；3仅运行一次；4多实例exe/zip" Type="Stardust.Models.ServiceModes" Category="参数" />
      <Column Name="AutoPublish" DataType="Boolean" Description="自动发布。应用版本后自动发布到启用节点，加快发布速度" />
      <Column Name="CreateUserId" DataType="Int32" Description="创建者" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="Name" Unique="True" />
    </Indexes>
  </Table>
  <Table Name="AppDeployNode" Description="应用节点。应用部署集和节点服务器的依赖关系">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用部署集。对应AppDeploy" />
      <Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
      <Column Name="IP" DataType="String" Description="IP地址。节点所在内网IP地址" />
      <Column Name="Sort" DataType="Int32" Description="顺序。较大在前" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="Environment" DataType="String" Description="环境。prod/test/dev/uat等" />
      <Column Name="FileName" DataType="String" Description="文件。应用启动文件，可直接使用zip包，支持差异定制，为空时使用应用集配置" Category="参数" />
      <Column Name="Arguments" DataType="String" Length="500" Description="参数。启动应用的参数，为空时使用应用集配置" Category="参数" />
      <Column Name="WorkingDirectory" DataType="String" Length="200" Description="工作目录。应用根目录，为空时使用应用集配置" Category="参数" />
      <Column Name="Mode" DataType="Int32" Description="工作模式。0默认exe/zip；1仅解压；2解压后运行；3仅运行一次；4多实例exe/zip。为空时使用应用集配置" Type="Stardust.Models.ServiceModes" Category="参数" />
      <Column Name="ProcessId" DataType="Int32" Description="进程" />
      <Column Name="ProcessName" DataType="String" Length="200" Description="进程名称" />
      <Column Name="UserName" DataType="String" Description="用户名。启动该进程的用户名" />
      <Column Name="StartTime" DataType="DateTime" Description="进程时间" />
      <Column Name="Version" DataType="String" Description="版本。客户端" />
      <Column Name="Compile" DataType="DateTime" Description="编译时间。客户端" />
      <Column Name="Listens" DataType="String" Description="监听端口。网络端口监听信息" />
      <Column Name="LastActive" DataType="DateTime" Description="最后活跃。最后一次上报心跳的时间" />
      <Column Name="LastUpload" DataType="DateTime" Description="最后上传。最后一次上传客户端配置的时间" />
      <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递" />
      <Column Name="CreateUserId" DataType="Int32" Description="创建人" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId" />
      <Index Columns="NodeId" />
    </Indexes>
  </Table>
  <Table Name="AppDeployVersion" Description="部署版本。应用的多个可发布版本，主要管理应用程序包，支持随时切换使用不同版本">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用部署集。对应AppDeploy" />
      <Column Name="Version" DataType="String" Master="True" Nullable="False" Description="版本。如2.3.2022.0911，字符串比较大小" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="Url" DataType="String" ItemType="file" Description="资源地址。一般打包为Zip包，StarAgent下载后解压缩覆盖" />
      <Column Name="Size" DataType="Int64" ItemType="GMK" Description="文件大小" />
      <Column Name="Hash" DataType="String" Description="文件哈希。MD5散列，避免下载的文件有缺失" />
      <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递" />
      <Column Name="CreateUserId" DataType="Int32" Description="创建者" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId,Version" Unique="True" />
    </Indexes>
  </Table>
  <Table Name="AppDeployHistory" Description="部署历史。记录应用集部署历史" ConnName="StardustData">
    <Columns>
      <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用部署集。对应AppDeploy" />
      <Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
      <Column Name="Action" DataType="String" Nullable="False" Description="操作" />
      <Column Name="Success" DataType="Boolean" Description="成功" />
      <Column Name="Remark" DataType="String" Length="2000" Description="内容" />
      <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递" Category="扩展" />
      <Column Name="CreateUserId" DataType="Int32" Description="创建者" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId,Id" />
      <Index Columns="AppId,Action,Id" />
      <Index Columns="NodeId,Id" />
    </Indexes>
  </Table>
  <Table Name="Attachment" Description="附件。用于记录各系统模块使用的文件，可以是Local/NAS/OSS等" ConnName="Cube">
    <Columns>
      <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
      <Column Name="Category" DataType="String" Description="业务分类" />
      <Column Name="Key" DataType="String" Description="业务主键" />
      <Column Name="Title" DataType="String" Length="200" Description="标题。业务内容作为附件标题，便于查看管理" />
      <Column Name="FileName" DataType="String" Master="True" Length="200" Nullable="False" Description="文件名。原始文件名" />
      <Column Name="Extension" DataType="String" Description="扩展名" />
      <Column Name="Size" DataType="Int64" ItemType="GMK" Description="文件大小" />
      <Column Name="ContentType" DataType="String" Description="内容类型。用于Http响应" />
      <Column Name="FilePath" DataType="String" Length="200" Description="路径。本地相对路径或OSS路径，本地相对路径加上附件目录的配置，方便整体转移附件" />
      <Column Name="Hash" DataType="String" Description="哈希。MD5" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="UploadTime" DataType="DateTime" Description="上传时间。附件上传时间，可用于构造文件存储路径" />
      <Column Name="Url" DataType="String" Length="500" Description="网址。链接到附件所在信息页的地址" />
      <Column Name="Source" DataType="String" Length="500" Description="来源。用于远程抓取的附件来源地址，本地文件不存在时自动依次抓取" />
      <Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建用户" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="UpdateUser" DataType="String" Description="更新者" Category="扩展" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新用户" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="Category,Key" />
      <Index Columns="FilePath" />
      <Index Columns="Extension" />
    </Indexes>
  </Table>
</Tables>