节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
9.68 KiB
Stardust
<?xml version="1.0" encoding="utf-8"?>
<Tables xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="http://www.newlifex.com http://www.newlifex.com/Model2020.xsd" NameSpace="Stardust.Data.Configs" ConnName="ConfigCenter" BaseClass="Entity" Output="" xmlns="http://www.newlifex.com/Model2020.xsd">
  <Table Name="AppConfig" Description="应用配置。需要管理配置的应用系统列表,每个应用以命令对形式管理配置数据,支持版本发布">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="Category" DataType="String" Description="类别" />
      <Column Name="Name" DataType="String" Master="True" Description="名称" />
      <Column Name="DisplayName" DataType="String" Description="显示名" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="Version" DataType="Int32" Description="版本。应用正在使用的版本号,返回小于等于该版本的配置" />
      <Column Name="NextVersion" DataType="Int32" Description="下一版本。下一个将要发布的版本,发布后两者相同" />
      <Column Name="PublishTime" DataType="DateTime" Description="定时发布。在指定时间自动发布新版本" />
      <Column Name="CanBeQuoted" DataType="Boolean" Description="可被依赖。打开后,才能被其它应用依赖" />
      <Column Name="Quotes" DataType="String" Description="依赖应用。所依赖应用的集合" />
      <Column Name="IsGlobal" DataType="Boolean" Description="全局。该应用下的配置数据作为全局数据,请求任意应用配置都返回" />
      <Column Name="Readonly" DataType="Boolean" Description="只读。只读应用,不支持客户端上传配置数据,可用于保护数据避免被错误修改" />
      <Column Name="EnableApollo" DataType="Boolean" Description="阿波罗" />
      <Column Name="ApolloMetaServer" DataType="String" Description="阿波罗地址" />
      <Column Name="ApolloAppId" DataType="String" Description="阿波罗账号" />
      <Column Name="ApolloNameSpace" DataType="String" Description="阿波罗命名空间。默认application,也可以填依赖的公共命名空间,但建议为公共命名空间建立应用依赖。" />
      <Column Name="UsedKeys" DataType="String" Length="2000" Description="已使用。用过的配置项" />
      <Column Name="MissedKeys" DataType="String" Length="2000" Description="缺失键。没有读取到的配置项" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新者" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" />
    </Columns>
    <Indexes>
      <Index Columns="Name" Unique="True" />
    </Indexes>
  </Table>
  <Table Name="AppRule" Description="应用规则。针对应用设置的规则,比如根据IP段设置作用域,可用于划分生产环境和开发测试环境">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="Rule" DataType="String" Length="500" Description="规则。比如IP=10.0.0.*" />
      <Column Name="Result" DataType="String" Description="结果。比如Scope=dev" />
      <Column Name="Priority" DataType="Int32" Description="优先级。数字越大优先级越高" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新者" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" />
    </Columns>
  </Table>
  <Table Name="AppQuote" Description="应用依赖。应用可以引用依赖另一个应用">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用。原始应用,该应用依赖别人" />
      <Column Name="TargetAppId" DataType="Int32" Description="目标应用。被原始应用依赖的应用" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" />
    </Columns>
    <Indexes>
      <Index Columns="AppId" />
      <Index Columns="TargetAppId" />
    </Indexes>
  </Table>
  <Table Name="ConfigData" Description="配置数据。配置名值对,发布后才能生效,支持多作用域划分生产和开发测试环境">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="Key" DataType="String" Master="True" Nullable="False" Description="名称。下划线开头表示仅用于内嵌,不能返回给客户端;多级名称用冒号分隔" />
      <Column Name="Scope" DataType="String" Description="作用域" />
      <Column Name="Value" DataType="String" Length="2000" Description="数值。正在使用的值,支持内嵌 ${key@app:scope}" />
      <Column Name="Version" DataType="Int32" Description="版本。当前版本号,每次修改都是应用版本加一" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="NewValue" DataType="String" Length="2000" Description="期望值。已被修改,尚未发布的值,支持内嵌 ${key@app:scope}" />
      <Column Name="NewVersion" DataType="Int32" Description="新版本。下一个将要发布的版本,发布后两者相同" />
      <Column Name="NewStatus" DataType="String" Description="新状态。启用/禁用/删除" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新者" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" />
      <Column Name="Remark" DataType="String" Length="500" Description="备注" />
    </Columns>
    <Indexes>
      <Index Columns="AppId,Key,Scope" Unique="True" />
    </Indexes>
  </Table>
  <Table Name="ConfigHistory" Description="配置历史。记录配置变更历史">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" 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="CreateUserID" DataType="Int32" Description="创建者" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" />
    </Columns>
    <Indexes>
      <Index Columns="CreateTime" />
    </Indexes>
  </Table>
  <Table Name="ConfigOnline" Description="配置在线。一个应用有多个部署,每个在线会话对应一个服务地址">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="Category" DataType="String" Description="类别" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="Name" DataType="String" Master="True" Description="名称。机器名称" />
      <Column Name="Client" DataType="String" Description="客户端。IP加进程" />
      <Column Name="Scope" DataType="String" Description="作用域" />
      <Column Name="PingCount" DataType="Int32" Description="心跳" />
      <Column Name="ProcessId" DataType="Int32" Description="进程" />
      <Column Name="ProcessName" DataType="String" 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="Token" DataType="String" Length="200" Description="令牌" />
      <Column Name="Creator" DataType="String" Description="创建者。服务端节点" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" />
    </Columns>
    <Indexes>
      <Index Columns="Client" Unique="True" />
      <Index Columns="AppId" />
      <Index Columns="UpdateTime" />
      <Index Columns="Token" />
    </Indexes>
  </Table>
</Tables>