No option to skip empty source fields when updating existing target data via CSV

Issue:

  • In the configuration form of the CSV import feature,
  • in In ‘Manage Duplicates’
  • when selecting ‘Update existing entity’
  • And the data that is imported contains fields that are not empty and that are empty.
  • The import overwrites ALL fields regardless of the new values are empty or not, even if the original version of the entity does have a value in that field.
  • The result is data loss, since import is likely never intended to erase existing field data.

Expected:

  • This should be a clear option: Do not overwrite target field values with source empty values.

Context:

When you import a CSV file into an existing Database, some rows in your file might correspond to existing entities.

There are three options on how to deal with such records:

  1. Always create an entity per row, regardless of whether it’s a duplicate.

  2. Update existing entities when found based on a specific Field. < This needs extra option

  3. Skip duplicates when found based on a specific Field.

Thanks for flagging this — you’re absolutely right about the current behavior.

When you select Update existing entity during CSV import, Fibery does overwrite all mapped fields, including replacing existing values with empty cells from the CSV.

Workaround: Before importing, remove any columns from your CSV that contain empty values you don’t want to overwrite. That way, those fields in Fibery will remain untouched.

If we see more people running into this, we’ll definitely reconsider adding an option for this.

Let me know if the workaround helps or if you need anything else!

Thanks @dmytro - still i want to keep this flagged as bug, since it leads to unintended data loss, as it did with me. So one quick warning at that setting would at least be needed, and then later the added option to filter, which needs actually be the default option since likely nobody wants to overwrite existing data with empty values.

never say ‘never’ :wink:

(or never say ‘nobody’ in this case)

Our experience is that there’s always someone that wants to do something you didn’t think anyone would!

your quote me be left out the ‘likely’ in front of that sentence. But I’m not talking about edge cases, the idea is to prevent data loss caused by behavior that technically can be easily prevented, and not to say ‘tough titties’ to the few percentage of people that learn it the hard way.

Yeah, I was just making a joke about the challenges we face with pleasing everyone :slight_smile:

very good :laughing: now i get it. My inner child indeed wants to break its toys sometimes.
Keep them coming, lightens up the community

1 Like