shopify_global_schema:
  target: qa
  outputs:
    qa:
      type: snowflake
      account: delphi.us-east-1

      user: "{{ env_var('SNOWFLAKE_USER') }}"
      private_key: "{{ env_var('SNOWFLAKE_PRIVATE_KEY') }}"
      private_key_passphrase: "{{ env_var('SNOWFLAKE_KEY_PASSPHRASE') }}"

      role: "{{ env_var('SNOWFLAKE_ROLE') }}"
      database: "{{ env_var('SNOWFLAKE_DATABASE') }}"
      warehouse: "{{ env_var('SNOWFLAKE_WAREHOUSE') }}"
      schema: "{{ env_var('SNOWFLAKE_SCHEMA') }}"
      threads: 2
      client_session_keep_alive: True

      connect_retries: 0
      connect_timeout: 10
      retry_on_database_errors: False
      retry_all: False
      reuse_connections: False

    dev:
      type: snowflake
      account: delphi.us-east-1
      user: "{{ env_var('SNOWFLAKE_USER') }}"
      authenticator: externalbrowser
      role: "{{ env_var('SNOWFLAKE_ROLE', 'FANSIFTER_ENGINEERING_PRIVACY') }}"
      database: DELPHI_EXPLORATION
      schema: EXPLORATION_SANDBOX
      warehouse: "{{ env_var('SNOWFLAKE_WAREHOUSE', 'EXPLORATION_WH') }}"
      threads: 4
      client_session_keep_alive: True
      reuse_connections: True

    # Local development target using RSA key-pair auth (no browser SSO).
    # Database/schema/role/authenticator are env-driven so the target can point at a
    # personal sandbox. Select with `dbt run --target dev-local`.
    dev-local:
      type: snowflake
      account: delphi.us-east-1
      user: "{{ env_var('SNOWFLAKE_USER') }}"
      private_key_path: "{{ env_var('SNOWFLAKE_PRIVATE_KEY_PATH') }}"
      private_key_passphrase: "{{ env_var('SNOWFLAKE_KEY_PASSPHRASE', '') }}"
      role: "{{ env_var('SNOWFLAKE_ROLE') }}"
      database: "{{ env_var('SNOWFLAKE_DATABASE') }}"
      schema: "{{ env_var('SNOWFLAKE_SCHEMA') }}"
      warehouse: "{{ env_var('SNOWFLAKE_WAREHOUSE', 'EXPLORATION_WH') }}"
      authenticator: "{{ env_var('SNOWFLAKE_AUTHENTICATOR', 'snowflake') }}"
      threads: 2
      client_session_keep_alive: True
      reuse_connections: True

    prod:
      type: snowflake
      account: delphi.us-east-1

      user: "{{ env_var('SNOWFLAKE_USER') }}"
      private_key: "{{ env_var('SNOWFLAKE_PRIVATE_KEY') }}"
      private_key_passphrase: "{{ env_var('SNOWFLAKE_KEY_PASSPHRASE') }}"

      role: "{{ env_var('SNOWFLAKE_ROLE') }}"
      database: "{{ env_var('SNOWFLAKE_DATABASE') }}"
      warehouse: "{{ env_var('SNOWFLAKE_WAREHOUSE') }}"
      schema: "{{ env_var('SNOWFLAKE_SCHEMA') }}"
      threads: 4
      client_session_keep_alive: True

      connect_retries: 0
      connect_timeout: 10
      retry_on_database_errors: False
      retry_all: False
      reuse_connections: False
