@@ -134,16 +134,23 @@ func (collector *GraphqlCollector) Execute() errors.Error {
134134 if err != nil {
135135 return errors .Default .Wrap (err , "error running auto-migrate" )
136136 }
137+
138+ divider := NewBatchSaveDivider (collector .args .Ctx , collector .args .BatchSize , collector .table , collector .params )
139+
137140 // flush data if not incremental collection
138- if ! collector .args .Incremental {
141+ if collector .args .Incremental {
142+ // re extract data for new transformation rules
143+ err = collector .ExtractExistRawData (divider )
144+ if err != nil {
145+ collector .checkError (err )
146+ }
147+ } else {
139148 err = db .Delete (& RawData {}, dal .From (collector .table ), dal .Where ("params = ?" , collector .params ))
140149 if err != nil {
141150 return errors .Default .Wrap (err , "error deleting data from collector" )
142151 }
143152 }
144153
145- divider := NewBatchSaveDivider (collector .args .Ctx , collector .args .BatchSize , collector .table , collector .params )
146-
147154 collector .args .Ctx .SetProgress (0 , - 1 )
148155 if collector .args .Input != nil {
149156 iterator := collector .args .Input
@@ -208,11 +215,6 @@ func (collector *GraphqlCollector) exec(divider *BatchSaveDivider, input interfa
208215 SkipCursor : nil ,
209216 Size : collector .args .PageSize ,
210217 }
211- err = collector .ExtractExistRawData (divider , reqData )
212- if err != nil {
213- collector .checkError (err )
214- return
215- }
216218 if collector .args .GetPageInfo != nil {
217219 collector .fetchOneByOne (divider , reqData )
218220 } else {
@@ -280,7 +282,7 @@ func (collector *GraphqlCollector) BatchSaveWithOrigin(divider *BatchSaveDivider
280282}
281283
282284// ExtractExistRawData will extract data from existing data from raw layer if increment
283- func (collector * GraphqlCollector ) ExtractExistRawData (divider * BatchSaveDivider , reqData * GraphqlRequestData ) errors.Error {
285+ func (collector * GraphqlCollector ) ExtractExistRawData (divider * BatchSaveDivider ) errors.Error {
284286 // load data from database
285287 db := collector .args .Ctx .GetDal ()
286288 logger := collector .args .Ctx .GetLogger ()
@@ -304,7 +306,7 @@ func (collector *GraphqlCollector) ExtractExistRawData(divider *BatchSaveDivider
304306 row := & RawData {}
305307
306308 // get the type of query and variables
307- query , variables , _ := collector .args .BuildQuery (reqData )
309+ query , variables , _ := collector .args .BuildQuery (nil )
308310
309311 // prgress
310312 collector .args .Ctx .SetProgress (0 , - 1 )
0 commit comments