这是用来实现两个 MySQL 数据库中的具有相同字段表的增量同步。
支持按照某种格式增量获取表中的待同步数据。
支持按照列名称向 数据库 的表中批量插入待同步的数据。
安装
go get -u github.com/cuckoopark/dbsync
数据库配置
在每一张需要同步的表中,应该有一个update_time
更新时间的非空字段(名字可以不一样,但是类型必须是时间相关类型),用来按照更新时间获取最新的更新数据。
这个字段需要在数据更新时,自动更新为当前时间戳,用于记录数据更新的时间。
例如update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
的字段设置。
获取增量更新数据
可以批量获取一张表的最新更新的数据,方法如下:
func DoFetch(db *sql.DB, tableName string, options FetchOptions) (FetchResult, error)
其中参数说明:
db
:数据库操作句柄。
tableName
:表名称。
options
:获取时的配置信息,FetchOptions
格式如下所示:IgnoreFields
:需要忽略的列名称,获取数据的结果不包含该列。
PageNumber
:分页获取增量的页码,从1开始。
PageSize
:分页