{{template "header" .}}
当前只支持字段在表结构末尾追加新字段,如果配置的二进制位点是在DDL 之前的位点,会出现数据和字段对应不上
数据类型修改之后,如果配置的二进制位点是在DDL 之前的位点,可能会出现数据出错
从Binlog解析出来的数据,在转成 map[string]interface{} 的数据格式的时候
MySQL里的存储类型对应Golang里的数据类型不一样
括号里的代表是Golang里的数据类型
TINYINT ( int8 | unit8 ) , SMALLINT ( int16 | unit16 ) , MEDIUMINT ( int32 | uint32 ), INT ( int32 | uint32 ) , BIGINT ( int64 | uint64 )
FLOAT ( float32 ) , DOUBLE ( float64 ) ,REAL ( float64 )
DECIMAL , NUMERIC( 返回string类型 )
DATE , TIME , YEAR , DATETIME , TIMESTAMP ( string类型 )
CHAR , VARCHAR ( string )
TEXT , TINYTEXT , MEDIUMINTTEXT , LONGTEXT ( string )
BLOB, TINYBLOB , MEDIUMINTBLOB , LONGBLOB ( string )
ENUM ( string类型 )
SET ( []string )
BIT ( int64类型 )
{$SchemaName} : 数据库名字
{$TableName} : 表的名字
{$EventType} : 当前记录的增删改事件,新增(insert); 修改(update) ; 删除(delete); SQL(sql)
{$字段名} : 表的字段数据
True : 当提交到 toServer 返回true 的时候,会进行重试操作,直到成功或者手工设置Miss 错过操作
False : 不管提交到 toServer 返回true 或者 false,都不进行重试提交
True : 将过滤sql 事件,不提供给插件层处理
False : 由插件层自行决定怎么处理
True : update事件,所选字段内容都没有变更情况下,不进行推送
False : 不管字段有没有更新,全部都会推送
默认为全选, 选中的字段才会进行解析推送
全量和增量数据同步,对 null 的处理不一样,增量是null,全量 null 当作 "" 处理
全量 数据同步的时候,不支持带 - 符号的数据库名和表名,例如: *my-db*
支持批量刷数据的插件,在数据同步异常的情况下,不支持错过当前数据同步功能,例如: ClickHouse,Kafka