数据同步

需求背景:

  1. 在主库中维护一些标准规则或者基础表
  2. 租户库可以有选择性的引入主库的标准规则,并允许添加客户定制的规则
  3. 租户表允许添加额外的数据字段
  4. 数据的同步是单向的,即:发布模式



目前支持2种模式的数据发布:

  • 基于主外键的数据发布
    xx

  • 基于相同主键的数据发布
    xx



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);