- Added Quickstart model counts to README. (#45)
- Corrected references to connectors and connections in the README. (#45)
PR #41 includes the following updates:
- Removed the
partition_by
logic from incremental models running on BigQuery. This change affects only BigQuery warehouses and resolves thetoo many partitions
error that some users encountered. The partitioning was also deemed unnecessary for the mentioned models and their downstream references, offering no performance benefit. By removing it, we eliminate both the error risk and an unneeded configuration. This change applies to the following models:int_klaviyo__event_attribution
klaviyo__events
- Added consistency and integrity validation tests for the
klaviyo__events
model. - Cleaned up unnecessary variable configuration within the
integration_tests/dbt_project.yml
file.
PR #38 includes the following updates:
- Removes
not_null
tests forperson_id
fromint_klaviyo__person_metrics
andklaviyo__person_campaign_flow
. This is because Klaviyo can record events with deactivated profiles, resulting in nullperson_id
s. Therefore models built off of tables with event-based grains may have nullperson_id
s.
PR #33 includes the following updates:
- Corrected the package to reference the proper upstream
dbt_klaviyo_source
package dependency.
PR #34 includes the following updates:
- For Databricks compatibility, added the Catalog variable and updated the range to >=1.6.0,<2.0.0 in order to pass in integration testing.
PR #30 includes updates regarding the September 2023 changes to the Klaviyo connector.
- We have removed and added respective fields following the new schema in the Klaviyo connector. In addition, we have removed the deprecated
integration
table and have instead passed the integration columns throughmetric
. For more information, refer to the source Klaviyo package, where most of these changes took place.
- We recommend running
dbt run --full-refresh
after upgrading to this version due to casting changes in the source package affecting incremental models.
PR #29 includes the following breaking changes:
- IDs in the upstream source package are now cast using
{{ dbt.type_string() }}
to prevent potential datatype conflicts. - Upstream
_fivetran_synced
is now cast using{{ dbt.type_timestamp() }}
to prevent downstream datatype errors.
PR #26 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.
PR #23 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"]
.
- Ensures that the incremental strategy used by Postgres and Redshift adapters in the
klaviyo__events
andint_klaviyo__event_attribution
models isdelete+insert
(#9). Newer versions of dbt introduced an error message if the provided incremental strategy is notappend
ordelete+insert
for these adapters.
- Incorporate the
try_cast
macro from fivetran_utils to ensure that thenumeric_value
field inklaviyo__person_campaign_flow
is the same data type as '0'. Issue #17
🎉 dbt v1.0.0 Compatibility 🎉
- 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_klaviyo_source
. Additionally, the latestdbt_klaviyo_source
package has a dependency on the latestdbt_fivetran_utils
. Further, 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 updates highlighted within the Bug Fixes section are changes to the incremental logic of the
klaviyo__events
table. As such, adbt run --full-refresh
will be needed after installing this version of the dbt_klaviyo package as a dependency within yourpackages.yml
- Accommodating the breaking change within the dbt_klaviyo_source package for the name change of the
union_schemas/datbases
variables to beklaviyo_union_schemas/databases
.
- Leverage the
unique_event_id
surrogate key from thestg_klaviyo__events
model within the incremental logic ofint_klaviyo__event_attribution
andklaviyo__events
to better account for the uniqueness of events across different connectors.
- Allow for multiple sources by unioning source tables across multiple Klaviyo connectors.
(#11 & #12)
- Refer to the README for more details.
- Correct README in pointing out that the
klaviyo__eligible_attribution_events
variable is case-SENSITIVE and must be in all lowercase.
- Unioning: The unioning occurs in the staging 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 record comes from, we added a new
source_relation
column in each staging and final model and applied thefivetran_utils.source_relation
macro. (#8)- The
source_relation
column is included in all joins and window function partition clauses in the transform package. Note that an event from one Klaviyo source will never be attributed to an event from a different Klaviyo connector.
- The
- @pawelngei #11 and #8
Refer to the relevant release notes on the Github repository for specific details for the previous releases. Thank you!