For targets (like `target-postgres` ) how do they ...
# singer-targets
c
For targets (like
target-postgres
) how do they handle full refreshes? I understand that the tap will emit records ignoring any state, but does the target clear any existing records prior to ingesting the incoming records? For example, if a source is using
FULL_TABLE
replication, what happens in the following scenario? 1. Tap emits 50 records which are ingested by target 2. Hard delete of one record 3. A full refresh is done, now the tap emits 49 records. Does the target show 50 or 49 records? If it is 50, how do I clear it during the full refresh?
e
Depends on the tap, and specifically on whether the tap implements the so-called ACTIVATE_VERSION message (see https://github.com/meltano/sdk/issues/18). If not, the target will show 50 records and there's currently no built-in option or command to clear existing tables unfortunately.