With tap-mssql, is there any way I can configure m...
# singer-taps
i
With tap-mssql, is there any way I can configure my stream to land in a different schema than the schema in the source db (dbo -> raw)? I have raw set as my default schema for my target but my tables replicate into dbo. Also, If I have a date field set as a
replication-key
for a stream can I simply declare a start date under that streams config and expect it to work (tap-mssql)? Or does that only work if my tap has start_date defined as a native setting.
a
Can you share the meltano.yml? I am using tap-mssql to target-postges and I am able to set
default_target_schema: raw__${MELTANO_EXTRACTOR_NAMESPACE}
on my target and this works as intended.
👍 1
i
- name: target-snowflake variant: meltanolabs pip_url: meltanolabs-target-snowflake settings: - name: user - name: account - name: password sensitive: true config: validate_records: false role: ACCOUNTADMIN schema: RAW warehouse: MELTANO_WH right now it just looks like this
default_target_schema: RAW
so just add this in my config?
a
yes.
But if you have multiple taps loading into the same target schema, if they have identically named streams they will clobber each other. Hence using the extractor name as part of the full string. But this might be fine for you use case.
Althought looking at the snowflake target, I'm not sure why you didn't get the right behaviour with your config as-is 🤷‍♀️
i
Right? I guess that schema config only applies when no schema is discovered in the source. Because my other tap went to RAW as I expected, but that was also an API and not a DB with a pre-defined schema.
Also I prefix my source table by source to split them up. So like any google ads stream would materialize as
<http://RAW.GA|RAW.GA>_StreamName
or whatever the tap is so I can visually split them up. Idk if that's what you meant by clobber but that works for me.