<?xml version="1.0" encoding="utf-8"?>
<EntityModel xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model202309.xsd" Document="https://newlifex.com/xcode/model" xmlns="https://newlifex.com/Model202309.xsd">
<Option>
<!--类名模板。其中{name}替换为Table.Name,如{name}Model/I{name}Dto等-->
<ClassNameTemplate />
<!--显示名模板。其中{displayName}替换为Table.DisplayName-->
<DisplayNameTemplate />
<!--基类。可能包含基类和接口,其中{name}替换为Table.Name-->
<BaseClass>Entity</BaseClass>
<!--命名空间-->
<Namespace>AntJob.Data.DataSync</Namespace>
<!--输出目录-->
<Output>.\</Output>
<!--是否使用中文文件名。默认false-->
<ChineseFileName>False</ChineseFileName>
<!--用于生成Copy函数的参数类型。例如{name}或I{name}-->
<ModelNameForCopy />
<!--带有索引器。实现IModel接口-->
<HasIModel>False</HasIModel>
<!--可为null上下文。生成String?等-->
<Nullable>False</Nullable>
<!--数据库连接名-->
<ConnName>DataSync</ConnName>
<!--模型类模版。设置后生成模型类,用于接口数据传输,例如{name}Model-->
<ModelClass />
<!--模型类输出目录。默认当前目录的Models子目录-->
<ModelsOutput>.\Models\</ModelsOutput>
<!--模型接口模版。设置后生成模型接口,用于约束模型类和实体类,例如I{name}-->
<ModelInterface />
<!--模型接口输出目录。默认当前目录的Interfaces子目录-->
<InterfacesOutput>.\Interfaces\</InterfacesOutput>
<!--用户实体转为模型类的模型类。例如{name}或{name}DTO-->
<ModelNameForToModel />
<!--命名格式。Default/Upper/Lower/Underline-->
<NameFormat>Default</NameFormat>
<!--魔方区域显示名-->
<DisplayName>数据同步</DisplayName>
<!--魔方控制器输出目录-->
<CubeOutput>../../AntJob.Web/Areas/DataSync</CubeOutput>
</Option>
<Tables>
<Table Name="DataSource" Description="数据源。记录各种数据库">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="Name" DataType="String" Master="True" Nullable="False" Description="名称" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="DbType" DataType="Int32" Description="数据库类型" Type="XCode.DataAccessLayer.DatabaseType" />
<Column Name="Server" DataType="String" Description="服务器。含端口" />
<Column Name="Database" DataType="String" Description="数据库" />
<Column Name="Schema" DataType="Int32" Description="模式" Type="AntJob.Data.Util.SchemaTypes" />
<Column Name="Account" DataType="String" Description="账号" />
<Column Name="Password" DataType="String" Description="密码" />
<Column Name="DBModel" DataType="String" RawType="Text" Length="-1" Description="库模型" />
<Column Name="CreateUserID" DataType="Int32" Description="创建人" Category="扩展" />
<Column Name="CreateUser" DataType="String" 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="UpdateUser" DataType="String" 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" />
<Index Columns="DbType" />
</Indexes>
</Table>
<Table Name="MetaSync" Description="数据同步。每个同步配置,对应一个调度作业">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="Name" DataType="String" Master="True" Nullable="False" Description="名称" />
<Column Name="IgnoreTable" DataType="String" Description="忽略同步表。与同步表映射共同生效" />
<Column Name="MapTable" DataType="String" Description="同步表映射。仅同步指定表,并映射到目标库,映射关系:分号分割映射表,逗号分割多组映射" />
<Column Name="SourceId" DataType="Int32" Map="DataSource@Id@Name@SourceName" Description="源库" />
<Column Name="TargetId" DataType="Int32" Map="DataSource@Id@Name@TargetName" Description="目标库" />
<Column Name="ErrorNum" DataType="Int32" Description="错误重试" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="TaskId" DataType="Int32" Description="管理任务。用于扫描源库的表信息变更,例如新增表和新增字段" />
<Column Name="LastTime" DataType="DateTime" Description="最后同步时间" />
<Column Name="IsAllCopy" DataType="Boolean" Description="原样拷贝,不会生成单独的表配置" Category="模型" />
<Column Name="IsAllSync" DataType="Boolean" Description="整库同步,会自动创建定时任务同步表模型" Category="模型" />
<Column Name="DBModel" DataType="String" RawType="Text" Length="-1" Description="库模型" Category="模型" />
<Column Name="CreateUserID" DataType="Int32" Description="创建人" Category="扩展" />
<Column Name="CreateUser" DataType="String" 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="UpdateUser" DataType="String" 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" />
<Index Columns="Enable" />
</Indexes>
</Table>
<Table Name="MetaTable" Description="数据表">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="SourceTableName" DataType="String" Description="源表名" />
<Column Name="SourceTablePrefix" DataType="String" Description="源表前缀" />
<Column Name="TargetTableName" DataType="String" Description="目标表名" />
<Column Name="TargetTablePrefix" DataType="String" Description="目标表前缀" />
<Column Name="MaxRows" DataType="Int32" Description="最大行数。数据表最大行数,小于10万行时,只用全量同步(清空并批量插入)" />
<Column Name="SyncMode" DataType="Int32" Description="同步模式。全量同步、增量同步" Type="AntJob.Data.Util.SyncModelTypes" />
<Column Name="SyncField" DataType="Int32" Description="同步字段。大于10万行且增量同步时,需要根据自增Id、雪花Id或更新时间字段去抽取s" />
<Column Name="IgnoreField" DataType="String" Length="1000" Description="忽略字段。忽略不需要同步的字段,与字段映共同生效" />
<Column Name="FieldMap" DataType="String" Length="1000" Description="字段映射。仅同步指定字段,并映射到目标库的另一个字段" />
<Column Name="WhereSql" DataType="String" Length="200" Description="条件字句。仅同步满足条件的数据" />
<Column Name="CreateSql" DataType="String" Length="1000" Description="建表语句" />
<Column Name="MetaSyncID" DataType="Int32" Description="数据同步" />
<Column Name="TaskID" DataType="Int32" Description="任务编号" />
<Column Name="LastTime" DataType="DateTime" Description="最后时间" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="CreateUserID" DataType="Int32" Description="创建人" Category="扩展" />
<Column Name="CreateUser" DataType="String" 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="UpdateUser" DataType="String" 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="MetaSyncID,SourceTableName,TargetTableName" Unique="True" />
<Index Columns="Enable" />
</Indexes>
</Table>
</Tables>
</EntityModel>
|