Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have been trying to use tap-hubspot with target-postgres, but I had a problem with the integer columns. For fields that have the type 'number', tap-huspot will generate two types for a single field ("number" and "string", in order to accept 'N/A' values : https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/__init__.py#L120 ), which is not allowed in a relational database (a column must have a single data type). Generating 2 field types will make target-postgres (or any other sql target) to create 2 columns of different types and different names from the original field name, which will make the import of the hubspot data impossible, since a field should be mapped
to only one column, not to two.
So, my suggestion would be to process the rows as they are received from the APIs calls and replace any 'N/A' values with None, so that the type of a number field could be
"type":[ "null", "number" ]
.Let me know if I`m missing something or if I missunderstood anything regarding how tap-hubspot works
Also, if you have any another approach that would solve this problem, I would be more than pleased to hear it.