数据同步
需求背景:
- 在主库中维护一些标准规则或者基础表
- 租户库可以有选择性的引入主库的标准规则,并允许添加客户定制的规则
- 租户表允许添加额外的数据字段
- 数据的同步是单向的,即:发布模式
目前支持2种模式的数据发布:
- 基于主外键的数据发布
- 基于相同主键的数据发布
API调用
using DbContext dbContext = DbContext.Create("mysql");
using DbContext dbContext2 = DbContext.Create("mysql2");
DataSyncArgs args = new DataSyncArgs {
BizName = "Test_1", // 业务场景名称。此名称【必须保证唯一】
SrcDbContext = dbContext, // 源表的数据连接对象
DestDbContext = dbContext2, // 目标表的数据连接对象
SrcTableName = "products", // 源表名称
DestTableName = "products_sync1", // 目标表名称
SrcKeyField = "ProductID", // 源表的主键字段
DestRelatedKey = "PID", // 目标表中,与源表的主键对应字段,可以是【外键】,也可以是【主键】
SrcFilterSql = "CategoryID = 1", // Where 语句片段,用于获取源表数据行
};
await DataSync.ExecuteAsync(args);