Migration guide for Attribution
Upgrading to 1.0.0
- Version 1.10.6 of
dbt-corenow required - For a full upgrade walkthrough, please follow the official dbt guide
- Generic test arguments must be nested under arguments: (see dbt’s guidance on the require_generic_test_arguments_property behavior change here)
- Adapter dbt-redshift 1.10.0+ is required for Redshift users
- Users unable to upgrade immediately may remain on v0.x, which receives critical bug fixes only
Upgrading to 0.6.0
- We had to introduce limitations for Redshift users:
- users are only allowed to have 1 path transformation defined within the
snowplow__path_transformsvariable - the
snowplow__path_transformsvariable parameters only accept single-item arrays forremove_if_last_and_not_allandremove_if_not_all
- users are only allowed to have 1 path transformation defined within the
- This is due to Redshift deprecating Python UDFs; the transformations now rely on native SQL, which allows less flexibility for automation.
- Existing users can stay on older versions of the package as long as their UDFs remain in the database.
ymldbt_project.yml
vars:
snowplow_attribution:
snowplow__path_transforms: {'exposure_path': null}
Upgrading to 0.5.0
- From now on the
snowplow__path_transformsvariable parameters only accept non-empty arrays forremove_if_last_and_not_allandremove_if_not_allvariables instead of strings, please your variable overwrites in your dbt_project.yml accordingly. Previously you could only remove one specific channel or campaign, now you can do multiple, if needed.
ymldbt_project.yml
vars:
snowplow_attribution:
snowplow__path_transforms: {'exposure_path': null, 'remove_if_last_and_not_all': ['channel_to_remove_1', 'campaign_to_remove_1, 'campaign_to_remove_2']}