Releases: fivetran/dbt_klaviyo_source
v0.7.1 dbt_klaviyo_source
PR #22 introduces the following updates:
🪲 Bug Fixes 🪛
- There were errors customers were encountering where numeric values were not being recognized in
property_value
, leading to database errors. - To solve for that, we created the
remove_string_from_numeric
macro to be used instg_klaviyo__event
, which conducts the following operations:- We cast
property_value
as a string. - We then used a
regex_replace
function to retain only numerical values in these strings across all destinations (i.e. 0-9 values and .). - Finally we cast back to a numeric to ensure
numeric_value
is that particular data type.
- We cast
🚘 Under the Hood 🚘
- Cast
property_value
in theintegration_tests/dbt_project.yml
to ensure the field was originally being cast as a string or varchar data type for testing purposes. - Updated the
event
seed file to test for values that aren't numerics. - Updated the pull request template.
- Included auto-releaser GitHub Actions workflow to automate future releases.
Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0 dbt_klaviyo_source
PR #18 includes updates regarding the September 2023 changes to the Klaviyo connector.
🚨 Breaking Changes 🚨:
-
As the
integration
table has been deprecated, we removed thestg_klaviyo__integration
model, and instead have passed the integration columns throughstg_klaviyo__metric
. -
We have removed these deprecated columns from the following tables:
Table | Column |
---|---|
CAMPAIGN | is_segmented |
FLOW | customer_filter |
FLOW | trigger |
- We have added these columns from the following tables and renamed them:
Table | Column | New Name |
---|---|---|
CAMPAIGN | archived | is_archived |
CAMPAIGN | scheduled | scheduled_at |
FLOW | archived | is_archived |
FLOW | trigger_type | trigger_type |
PERSON | last_event_date | last_event_date |
METRIC | integration_name | integration_name |
METRIC | integration_category | integration_category |
For more information on the fields, refer to our docs.
Under the Hood:
- We removed the Snowflake-specific logic in place for passing through the
trigger
field in the Flow table as it was a reserved word. Now that thetrigger
field has been deprecated, we have also removed the associated logic in the package. - We removed the not_null test for
email
in thestg_klaviyo__person
model. This is because for the most recent schema, the only primary key isperson_id
rather thanemail
, andemail
may not be present.
Full Changelog: v0.6.0...v0.7.0
v0.6.0 dbt_klaviyo_source
🚨 Breaking Changes 🚨:
- This change is made breaking due to impact on incremental models in the downstream transformation package.
Bug Fixes
PR #17 includes the following breaking changes:
- IDs used in downstream joins or coalesce functions are now cast using
{{ dbt.type_string() }}
to prevent potential datatype conflicts. _fivetran_synced
is now cast using{{ dbt.type_timestamp() }}
to prevent downstream datatype errors.
Under the Hood:
PR #16 includes the following updates:
- Incorporated the new
fivetran_utils.drop_schemas_automation
macro into the end of each Buildkite integration test job. - Updated the pull request templates.
Full Changelog: v0.5.0...v0.6.0
dbt_klaviyo_source v0.5.0
🚨 Breaking Changes 🚨:
PR #15 includes the following breaking changes:
- Dispatch update for dbt-utils to dbt-core cross-db macros migration. Specifically
{{ dbt_utils.<macro> }}
have been updated to{{ dbt.<macro> }}
for the below macros:any_value
bool_or
cast_bool_to_text
concat
date_trunc
dateadd
datediff
escape_single_quotes
except
hash
intersect
last_day
length
listagg
position
replace
right
safe_cast
split_part
string_literal
type_bigint
type_float
type_int
type_numeric
type_string
type_timestamp
array_append
array_concat
array_construct
- For
current_timestamp
andcurrent_timestamp_in_utc
macros, the dispatch AND the macro names have been updated to the below, respectively:dbt.current_timestamp_backcompat
dbt.current_timestamp_in_utc_backcompat
dbt_utils.surrogate_key
has also been updated todbt_utils.generate_surrogate_key
. Since the method for creating surrogate keys differ, we suggest all users do afull-refresh
for the most accurate data. For more information, please refer to dbt-utils release notes for this update.- Dependencies on
fivetran/fivetran_utils
have been upgraded, previously[">=0.3.0", "<0.4.0"]
now[">=0.4.0", "<0.5.0"]
.
dbt_klaviyo_source 0.4.1
Updates
- Updates
dbt-labs/spark_utils
package inpackages.yml
from[">=0.2.0", "<0.3.0"]
to[">=0.3.0", "<0.4.0"]
.
dbt_klaviyo_source 0.4.0
Happy Monday!
🎉 dbt v1.0.0 Compatibility 🎉
🚨 Breaking Changes 🚨
- Adjusts the
require-dbt-version
to now be within the range [">=1.0.0", "<2.0.0"]. Additionally, the package has been updated for dbt v1.0.0 compatibility. If you are using a dbt version <1.0.0, you will need to upgrade in order to leverage the latest version of the package.- For help upgrading your package, I recommend reviewing this GitHub repo's Release Notes on what changes have been implemented since your last upgrade.
- For help upgrading your dbt project to dbt v1.0.0, I recommend reviewing dbt-labs upgrading to 1.0.0 docs for more details on what changes must be made.
- Upgrades the package dependency to refer to the latest
dbt_fivetran_utils
. The latestdbt_fivetran_utils
package also has a dependency ondbt_utils
[">=0.8.0", "<0.9.0"].- Please note, if you are installing a version of
dbt_utils
in yourpackages.yml
that is not in the range above then you will encounter a package dependency error.
- Please note, if you are installing a version of
- The
union_schemas
andunion_databases
variables have been replaced withklaviyo_union_schemas
andklaviyo_union_databases
respectively. This allows for multiple packages with the union ability to be used and not locked to a single variable that is used across packages.
Under the Hood
- Unioning: The unioning occurs in the tmp models using the
fivetran_utils.union_data
macro. (#8) - Unique tests: Because columns that were previously used for unique tests may now have duplicate fields across multiple sources, these columns are combined with the new
source_relation
column for unique tests and tested using thedbt_utils.unique_combination_of_columns
macro. (#8) - Source Relation column: To distinguish which source each field comes from, we added a new
source_relation
column in each staging model and applied thefivetran_utils.source_relation
macro. (#8)
Contributors
dbt_klaviyo_source 0.3.0
Happy Tuesday! This 0.3.0 release of the dbt_klaviyo_source package contains the below changes. Refer to the CHANGELOG for additional information on the below changes.
Features
- Allow for multiple sources by unioning source tables across multiple Klaviyo connectors.
(#8 & #9)- Refer to the README for more details.
Under the Hood
- Unioning: The unioning occurs in the tmp models using the
fivetran_utils.union_data
macro. (#8) - Unique tests: Because columns that were previously used for unique tests may now have duplicate fields across multiple sources, these columns are combined with the new
source_relation
column for unique tests and tested using thedbt_utils.unique_combination_of_columns
macro. (#8) - Source Relation column: To distinguish which source each field comes from, we added a new
source_relation
column in each staging model and applied thefivetran_utils.source_relation
macro. (#8)
Contributors
dbt 0.20.0 Compatibility
🎉 dbt 0.20.0 Compatibility 🎉
🚨 This is a breaking change! 🚨 dbt v0.20.0 or greater is required for this release. If you are not ready to upgrade, consider using a previous release of this package.
Additional considerations when upgrading to this package:
- This package utilizes the latest
v0.7.x
release of thedbt-labls/dbt_utils
package. If your project also utilizes a version of thefishtown-analytics/dbt_utils
package then you will receive a duplicate package error. If this is the case you will need to consider upgrading your other packages to be compatible with this update or use a previous release of this package. - Similar to the above point, all previous Fivetran dbt packages utilize the
fishtown-analytics/dbt_utils
package and you will need to upgrade all Fivetran dbt packages to the latest dbt 0.20.0 compatibility releases in order for your packages to run without package conflicts. - For Databricks users this compatibility is currently only available for
>=dbt 0.20.1rc1
. If you want more information on upgrading your dbt-spark version, you can refer to the dbt-spark release for further details.
Fivetran Utils Dependency Update
🚧 Fivetran Utils Dependency Update 🚧
This release includes the following non-breaking changes:
- Update to the
packages.yml
to reference the recently released Fivetran Utils package. This is a necessary update to ensure this package is compatible with previous dbt releases before dbt v0.20.0 updates take place.
Databricks Compatibility
Happy Tuesday! This tiny release introduces compatibility with Databricks 🧱