Releases: fivetran/dbt_shopify
v0.17.0 dbt_shopify
PR #100 includes the following updates:
Breaking Changes
- In the source package, introduced the
inventory_quantity
source and thestg_shopify__inventory_quantity
model to support downstream quantity tracking.- This replaces the deprecated
available_quantity
column instg_shopify__inventory_level
. - See the v0.16.0 dbt_shopify_source release notes for more details.
- This replaces the deprecated
- Updated model
shopify__inventory_levels
to add the following columns based on thequantity
field fromstg_shopify__inventory_quantity
:available_quantity
committed_quantity
damaged_quantity
incoming_quantity
on_hand_quantity
quality_control_quantity
reserved_quantity
safety_stock_quantity
Documentation
- Added definitions for the new fields.
Under the Hood
- Added seed
inventory_quantity_data
and macroget_inventory_quantity_columns
to support the newinventory_quantity
source.
Full Changelog: v0.16.1...v0.17.0
v0.16.1 dbt_shopify
PR #99 includes the following updates:
Bug Fixes
- Updated the
get_metafields
macro to support multiple reference values, ensuring compatibility with both the Shopify GraphQL API (ex: 'PRODUCTVARIANT' from theproduct_variant
source) and the deprecated REST API (previously 'variant' forproduct_variant
). See the Shopify API docs for more information.- Updated
reference_value
parameter toreference_values
to grab lists of reference values rather than a single string value. Now all records fromstg_shopify__metafield
are properly added to the relevant metafield models. - Added
id_column
parameter to explicitly specify what field in the staging model should be joined on to properly unpivot the metafields.
- Updated
Under the Hood
- Updated the
shopify_metafield_data
seed to validate the functionality of theget_metafields
macro, ensuring it correctly retrieves metafield data for all supported reference values.
Full Changelog: v0.16.0...v0.16.1
v0.16.0 dbt_shopify
This release includes the following updates:
Bug Fixes
- Removed incremental logic in the following end models (PR #97):
shopify__discounts
shopify__order_lines
shopify__orders
shopify__transactions
- Incremental strategies were removed from these models due to potential inaccuracies from incremental runs. For instance, the
new_vs_repeat
field inshopify__orders
could produce incorrect results during incremental runs. To ensure consistency, this logic was removed across all warehouses. If the previous incremental functionality was valuable to you, please consider opening a feature request to revisit this approach.
Upstream Under-the-Hood Updates from shopify_source
Package
- (Affects Redshift only) Creates new
shopify_union_data
macro to accommodate Redshift's treatment of empty tables.- For each staging model, if the source table is not found in any of your schemas, the package will create a table with one row with null values for Redshift destinations. There will be no change in behavior in non-Redshift warehouses.
- This is necessary as Redshift will ignore explicit data casts when a table is completely empty and materialize every column as a
varchar
. This throws errors in downstream transformations in theshopify
package. The 1 row will ensure that Redshift will respect the package's datatype casts.
Documentation
- Added Quickstart model counts to README. (PR #96)
- Corrected references to connectors and connections in the README. (PR #96)
Full Changelog: v0.15.0...v0.16.0
v0.15.0 dbt_shopify
PR #94 includes the following updates:
Breaking Changes
-
Updated columns with the connector changes released on January 6, 2025. See the release notes for more details.
-
In the
shopify__inventory_levels
model, replaced thecost
column with:unit_cost_amount
unit_cost_currency_code
-
Added the following columns to models:
shopify__inventory_levels
:duplicate_sku_count
harmonized_system_code
inventory_history_url
legacy_resource_id
measurement_id
measurement_weight_value
measurement_weight_unit
is_tracked_editable_locked
tracked_editable_reason
shopify__inventory_levels
andshopify__order_lines
:variant_is_available_for_sale
variant_display_name
variant_legacy_resource_id
variant_has_components_required
variant_sellable_online_quantity
-
Additionally, new columns were added in the upstream package. For more details, see the dbt_shopify_source v0.14.0 release notes.
-
Marked the following columns as deprecated in the documentation. These columns will return
null
values following the connector update, and customers should expect this behavior until the columns are fully removed in a future release.shopify__inventory_levels
:available_quantity
is_shipping_required
variant_fulfillment_service
variant_grams
variant_inventory_management
variant_option_1
variant_option_2
variant_option_3
variant_weight
variant_weight_unit
shopify__order_lines
:variant_fulfillment_service
variant_grams
variant_inventory_management
variant_option_1
variant_option_2
variant_option_3
variant_weight
variant_weight_unit
Under the Hood
- Updated
shopify_*_data
seed data to include new columns for the following tables:inventory_item
inventory_level
product_image
product_variant
Full Changelog: v0.14.0...v0.15.0
v0.14.0 dbt_shopify
PR #92 includes the following updates:
Breaking Changes
- Adds enable/disable config for the
metadata
staging model using theshopify_using_metafield
variable (defaulttrue
).- This variable is now a requirement for all
shopify__x_metafield
models.
- This variable is now a requirement for all
- Adds enable/disable config for the
abandoned_checkout
staging models using theshopify_using_abandoned_checkout
variable (defaulttrue
):-
stg_shopify__abandoned_checkout
-
stg_shopify__abandoned_checkout_discount_code
-
stg_shopify__abandoned_checkout_shipping_line
. -
Disabling
shopify_using_abandoned_checkout
will also disable theint_shopify__daily_abandoned_checkouts
andint_shopify__discounts__abandoned_checkouts
intermediate models, in addition to disablingabandoned_checkout
references in end models (includingshopify__daily_shop
,shopify__customers
,shopify__customer_emails
,shopify__customer_email_cohorts
,shopify__customer_cohorts
, andshopify__discounts
).
-
- For more information on how to enable/disable these tables, refer to the README. This will be a breaking change if you choose to disable these tables.
Full Changelog: v0.13.2...v0.14.0
v0.13.2 dbt_shopify
PR #89 includes the following changes:
Bug Fixes
- Fixed an issue where the
shopify__customers
model incorrectly displayed NULL values for thecustomer_tags
field for customers without orders. Updated the logic to ensure customer tags are retrieved even if no orders have been placed for that customer.
Under the Hood
- Updated seed data to include customers without orders, verifying that their tags are correctly pulled through.
- Added consistency and integrity tests for the
shopify__customers
model to ensure accurate handling of customer tags for all customers.
Full Changelog: v0.13.1...v0.13.2
v0.13.1 dbt_shopify
PR #87 includes the following changes:
Bug Fixes
- Coalesces the
backfill_lifetime_sums
fields from incremental loads, as well ascohort_month_number
in the rare cases there are no orders from an incremental period. This fixes the issue of NULL values in the lifetime columns inshopify__customer_cohorts
table. (PR #86). - UPDATE: For those customers experiencing erroneous NULL values previously, a
--full-refresh
should correct these issues and populate the proper values.
Under the Hood:
- Added consistency and integrity tests within
integration_tests
for theshopify__customer_cohorts
model. (PR #87).
Contributors
Full Changelog: v0.13.0...v0.13.1
v0.13.0 dbt_shopify
PR #83 includes the following changes:
Features
- Addition of the
shopify__line_item_enhanced
model. This model constructs a comprehensive, denormalized analytical table that enables reporting on key revenue, customer, and product metrics from your billing platform. It’s designed to align with the schema of the*__line_item_enhanced
model found in Shopify, Recharge, Stripe, Zuora, and Recurly, offering standardized reporting across various billing platforms. To see the kinds of insights this model can generate, explore example visualizations in the Fivetran Billing Model Streamlit App. Visit the app for more details.- This model is currently disabled by default. You may enable it by setting the
shopify__standardized_billing_model_enabled
astrue
in yourdbt_project.yml
.
- This model is currently disabled by default. You may enable it by setting the
Under the Hood:
- Added consistency test within integration_tests for the
stripe__line_item_enhanced
model.
Full Changelog: v0.12.2...v0.13.0
v0.12.2 dbt_shopify
PR #84 includes the following changes:
Feature
- Introduced the variable
shopify__calendar_start_date
toshopify__calendar
to allow for the start date to be customized. This can be set in yourdbt_project.yml
. If not used, the default will start at2019-01-01
. See the README for more details.
Full Changelog: v0.12.1...v0.12.2
v0.12.1 dbt_shopify
🪲 Bug Fixes 🪛
- Added support for a new
delayed
fulfillment event status from Shopify. This produces a newcount_fulfillment_delayed
field in theshopify__daily_shop
model (PR #81).
🚘 Under the Hood 🚘
- Added validation tests to be used by package maintainers to evaluate the consistency and integrity of subsequent model updates (PR #82).
Contributors
Full Changelog: v0.12.0...v0.12.1