修复同步主键自增冲突bug
This commit is contained in:
@@ -61,6 +61,10 @@ public class SyncThread implements Runnable {
|
||||
record.getLong("last_id"));
|
||||
//logger.info("主库同步分库新增数据增量更新的数据信息"+JSON.toJSONString(data));
|
||||
if (data != null && data.size() > 0) {
|
||||
final Object lastInsertId = data.get(data.size() - 1).get(record.getStr("id_name"));
|
||||
for(Record entity:data) {
|
||||
entity.remove(record.getStr("id_name"));
|
||||
}
|
||||
//多数据源事务 主数据源嵌套子数据源
|
||||
Db.use().tx(new IAtom() {
|
||||
@Override
|
||||
@@ -70,7 +74,6 @@ public class SyncThread implements Runnable {
|
||||
public boolean run() throws SQLException {
|
||||
Db.use(url.toString()).batchSave(record.getStr("table_name"), data, record.getInt("batch_size"));
|
||||
// 同步完成后 取出最后一条数据的id 更新到table_sync_info表中 用作下次使用
|
||||
Object lastInsertId = data.get(data.size() - 1).get(record.getStr("id_name"));
|
||||
logger.info("增量更新结束 获取最后一条更新数据的id信息"+JSON.toJSONString(lastInsertId));
|
||||
record.set("last_id", lastInsertId);
|
||||
record.set("last_date", new Date());
|
||||
|
||||
Reference in New Issue
Block a user