From dd87bdb53888aad414e3fe5343848e3777636e34 Mon Sep 17 00:00:00 2001 From: Catherine Fritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 16 Jul 2026 12:40:08 -0500 Subject: [PATCH 1/3] Add include_duckdb: true to CI test scenarios --- integration_tests/ci/test_scenarios.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/integration_tests/ci/test_scenarios.yml b/integration_tests/ci/test_scenarios.yml index e4edbdc..c8c4712 100644 --- a/integration_tests/ci/test_scenarios.yml +++ b/integration_tests/ci/test_scenarios.yml @@ -10,6 +10,7 @@ schema_variable_name: "zuora_schema" include_databricks_sql: false include_sqlserver: false +include_duckdb: true test_scenarios: - name: "Default" From a866fdc5ec9732eb192cab99bc306fbee910338b Mon Sep 17 00:00:00 2001 From: Catherine Fritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 16 Jul 2026 15:42:25 -0500 Subject: [PATCH 2/3] fix: DuckDB compatibility - fix seed type mismatches across multiple seed files Added column_types overrides in integration_tests/dbt_project.yml for zuora_payment_method_data to resolve DuckDB seed loading failures: - bank_identification_number and payment_retry_window: integer -> bigint (DuckDB sniffs these as BIGINT, causing strict-mode mismatch) - credit_card_country and 60+ other varchar fields: override from inferred integer to varchar (DuckDB infers integer for all-null columns; one row has a space character that cannot cast to integer) Co-Authored-By: Claude Sonnet 4.6 --- integration_tests/dbt_project.yml | 69 +++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 965ffbb..11d8d09 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -149,6 +149,75 @@ seeds: num_consecutive_failures: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" total_number_of_error_payments: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" total_number_of_processed_payments: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" + bank_identification_number: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" + payment_retry_window: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" + credit_card_country: "varchar" + ach_aba_code: "varchar" + ach_account_name: "varchar" + ach_account_number_mask: "varchar" + ach_account_type: "varchar" + ach_address_1: "varchar" + ach_address_2: "varchar" + ach_bank_name: "varchar" + ach_city: "varchar" + ach_country: "varchar" + ach_postal_code: "varchar" + ach_state: "varchar" + bank_branch_code: "varchar" + bank_check_digit: "varchar" + bank_city: "varchar" + bank_code: "varchar" + bank_name: "varchar" + bank_postal_code: "varchar" + bank_street_name: "varchar" + bank_street_number: "varchar" + bank_transfer_account_name: "varchar" + bank_transfer_account_number_mask: "varchar" + bank_transfer_account_type: "varchar" + bank_transfer_type: "varchar" + business_identification_code: "varchar" + city: "varchar" + company_name: "varchar" + country: "varchar" + credit_card_address_1: "varchar" + credit_card_address_2: "varchar" + credit_card_city: "varchar" + credit_card_expiration_month: "varchar" + credit_card_expiration_year: "varchar" + credit_card_holder_name: "varchar" + credit_card_mask_number: "varchar" + credit_card_postal_code: "varchar" + credit_card_state: "varchar" + credit_card_type: "varchar" + device_session_id: "varchar" + email: "varchar" + existing_mandate: "varchar" + first_name: "varchar" + iban: "varchar" + identity_number: "varchar" + ipaddress: "varchar" + last_name: "varchar" + mandate_creation_date: "varchar" + mandate_id: "varchar" + mandate_reason: "varchar" + mandate_received: "varchar" + mandate_status: "varchar" + mandate_update_date: "varchar" + method_reference_id: "varchar" + method_specific_data: "varchar" + paypal_baid: "varchar" + paypal_email: "varchar" + paypal_preapproval_key: "varchar" + paypal_type: "varchar" + phone: "varchar" + postal_code: "varchar" + second_token_id: "varchar" + state: "varchar" + street_name: "varchar" + street_number: "varchar" + sub_type: "varchar" + token_id: "varchar" + user_reference_id: "varchar" zuora_product_data: +column_types: _fivetran_synced: "timestamp" From e5dac4017fc7e427b04f272e794a765c015bcb9e Mon Sep 17 00:00:00 2001 From: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> Date: Thu, 16 Jul 2026 17:51:17 -0500 Subject: [PATCH 3/3] Update dbt_project.yml --- integration_tests/dbt_project.yml | 136 +++++++++++++++--------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 11d8d09..6d054ef 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -151,73 +151,73 @@ seeds: total_number_of_processed_payments: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" bank_identification_number: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" payment_retry_window: "{{ 'INT64' if target.type == 'bigquery' else 'bigint' }}" - credit_card_country: "varchar" - ach_aba_code: "varchar" - ach_account_name: "varchar" - ach_account_number_mask: "varchar" - ach_account_type: "varchar" - ach_address_1: "varchar" - ach_address_2: "varchar" - ach_bank_name: "varchar" - ach_city: "varchar" - ach_country: "varchar" - ach_postal_code: "varchar" - ach_state: "varchar" - bank_branch_code: "varchar" - bank_check_digit: "varchar" - bank_city: "varchar" - bank_code: "varchar" - bank_name: "varchar" - bank_postal_code: "varchar" - bank_street_name: "varchar" - bank_street_number: "varchar" - bank_transfer_account_name: "varchar" - bank_transfer_account_number_mask: "varchar" - bank_transfer_account_type: "varchar" - bank_transfer_type: "varchar" - business_identification_code: "varchar" - city: "varchar" - company_name: "varchar" - country: "varchar" - credit_card_address_1: "varchar" - credit_card_address_2: "varchar" - credit_card_city: "varchar" - credit_card_expiration_month: "varchar" - credit_card_expiration_year: "varchar" - credit_card_holder_name: "varchar" - credit_card_mask_number: "varchar" - credit_card_postal_code: "varchar" - credit_card_state: "varchar" - credit_card_type: "varchar" - device_session_id: "varchar" - email: "varchar" - existing_mandate: "varchar" - first_name: "varchar" - iban: "varchar" - identity_number: "varchar" - ipaddress: "varchar" - last_name: "varchar" - mandate_creation_date: "varchar" - mandate_id: "varchar" - mandate_reason: "varchar" - mandate_received: "varchar" - mandate_status: "varchar" - mandate_update_date: "varchar" - method_reference_id: "varchar" - method_specific_data: "varchar" - paypal_baid: "varchar" - paypal_email: "varchar" - paypal_preapproval_key: "varchar" - paypal_type: "varchar" - phone: "varchar" - postal_code: "varchar" - second_token_id: "varchar" - state: "varchar" - street_name: "varchar" - street_number: "varchar" - sub_type: "varchar" - token_id: "varchar" - user_reference_id: "varchar" + credit_card_country: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_aba_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_account_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_account_number_mask: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_account_type: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_address_1: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_address_2: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_bank_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_city: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_country: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_postal_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ach_state: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_branch_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_check_digit: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_city: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_postal_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_street_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_street_number: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_transfer_account_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_transfer_account_number_mask: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_transfer_account_type: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + bank_transfer_type: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + business_identification_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + city: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + company_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + country: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_address_1: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_address_2: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_city: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_expiration_month: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_expiration_year: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_holder_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_mask_number: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_postal_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_state: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + credit_card_type: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + device_session_id: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + email: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + existing_mandate: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + first_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + iban: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + identity_number: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + ipaddress: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + last_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + mandate_creation_date: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + mandate_id: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + mandate_reason: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + mandate_received: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + mandate_status: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + mandate_update_date: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + method_reference_id: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + method_specific_data: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + paypal_baid: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + paypal_email: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + paypal_preapproval_key: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + paypal_type: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + phone: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + postal_code: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + second_token_id: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + state: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + street_name: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + street_number: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + sub_type: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + token_id: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" + user_reference_id: "{{ 'string' if target.type in ['bigquery','spark','databricks'] else 'varchar' }}" zuora_product_data: +column_types: _fivetran_synced: "timestamp" @@ -307,4 +307,4 @@ seeds: tax_amount: "{{ 'FLOAT64' if target.type == 'bigquery' else 'float' }}" flags: send_anonymous_usage_stats: False - use_colors: True \ No newline at end of file + use_colors: True