This is a dumb question, and I promise I did my du...
# getting-started
m
This is a dumb question, and I promise I did my due diligence trying to answer it myself first but my googling has failed. What controls how the data is handled at the target? If I set the tap to full replication, what dictates whether the target will do an upsert or an append?
v
Each target is different slightly I'd look at the target code. Generally it's if a PK exists it's an upsert. If there's no PK then you append 🤷
m
Ah, that makes sense. I don't think this convention was in the documentation anywhere, or else I missed it. Thanks.
v
🤷 my answer isn't perfect as it depends on the target I think
I don't do much with append only
h
This is indeed a really good question (and a good answer). Learning Meltano, I was very surprised by how much of the behavior was defined by the taps/targets. Depending on how easy we want it to be to get going with meltano, we should really find some way to surface expected/common behavior and if a tap/target conforms to this.