Q- i just change this file 
WITH source_data AS (
    SELECT
        invoice_no,
        customer_id,
        gender,
        age,
        category,
        quantity,
        price,
        payment_method,
        invoice_date,
        shopping_mall
    FROM {{ source('raw', 'raw_customer_shopping') }}
)


SELECT *
FROM source_data

Q- and it’s work well
(venv) PS C:\Users\PCS\Desktop\Articals\Istunbull-Data\istanbul_dbt_project\istanbul_dbt> dbt run --models stg_customer_shopping --full-refresh
15:28:03  Running with dbt=1.8.8
15:28:03  Registered adapter: duckdb=1.9.0
15:28:03  Unable to do partial parsing because of a version mismatch
15:28:04  [WARNING]: Deprecated functionality
The `tests` config has been renamed to `data_tests`. Please see
https://docs.getdbt.com/docs/build/data-tests#new-data_tests-syntax for more
information.
15:28:04  Found 7 models, 1 seed, 3 data tests, 1 source, 416 macros
15:28:04
15:28:04  Concurrency: 1 threads (target='dev')
15:28:04
15:28:04  1 of 1 START sql view model main.stg_customer_shopping ......................... [RUN]
15:28:04  1 of 1 OK created sql view model main.stg_customer_shopping .................... [OK in 0.06s]
15:28:04
15:28:04  Finished running 1 view model in 0 hours 0 minutes and 0.22 seconds (0.22s).
15:28:04  
15:28:04  Completed successfully
15:28:04
15:28:04  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1

Q- but when i run 
Dbt run i ge this error 
(venv) PS C:\Users\PCS\Desktop\Articals\Istunbull-Data\istanbul_dbt_project\istanbul_dbt> dbt run
15:28:19  Running with dbt=1.8.8
15:28:19  Registered adapter: duckdb=1.9.0
15:28:19  Found 7 models, 1 seed, 3 data tests, 1 source, 416 macros
15:28:19
15:28:19  Concurrency: 1 threads (target='dev')
15:28:19
15:28:19  1 of 7 START sql view model main.stg_customer_shopping ......................... [RUN]
15:28:19  1 of 7 OK created sql view model main.stg_customer_shopping .................... [OK in 0.06s]
15:28:19  2 of 7 START sql table model main.dim_customer ................................. [RUN]
15:28:19  2 of 7 OK created sql table model main.dim_customer ............................ [OK in 0.11s]
15:28:19  3 of 7 START sql table model main.dim_date ..................................... [RUN]
15:28:19  3 of 7 ERROR creating sql table model main.dim_date ............................ [ERROR in 0.02s]
15:28:19  4 of 7 START sql table model main.dim_payment .................................. [RUN]
15:28:19  4 of 7 OK created sql table model main.dim_payment ............................. [OK in 0.03s]
15:28:19  5 of 7 START sql table model main.dim_product .................................. [RUN]
15:28:19  5 of 7 OK created sql table model main.dim_product ............................. [OK in 0.03s]
15:28:19  6 of 7 START sql table model main.dim_store .................................... [RUN]
15:28:19  6 of 7 OK created sql table model main.dim_store ............................... [OK in 0.04s]
15:28:19  7 of 7 SKIP relation main.fact_sales ........................................... [SKIP]
15:28:19
15:28:19  Finished running 1 view model, 6 table models in 0 hours 0 minutes and 0.48 seconds (0.48s).
15:28:20  
15:28:20  Completed with 1 error and 0 warnings:
15:28:20
15:28:20    Runtime Error in model dim_date (models\marts\dim_date.sql)
  Binder Error: Could not choose a best candidate function for the function call "strftime(VARCHAR, STRING_LITERAL)". In order to select one, please add explicit type casts.
        Candidate functions:
        strftime(VARCHAR, TIMESTAMP) -> VARCHAR
        strftime(VARCHAR, TIMESTAMP_NS) -> VARCHAR
        strftime(VARCHAR, DATE) -> VARCHAR

  LINE 22:     STRFTIME(invoice_date, '%Y') AS year,
               ^
15:28:20
15:28:20  Done. PASS=5 WARN=0 ERROR=1 SKIP=1 TOTAL=7

Q- and i think the error in this part 
-- models/marts/dim_date.sql


WITH staging AS (
    SELECT
        DISTINCT invoice_date
    FROM {{ ref('stg_customer_shopping') }}
)


SELECT
    ROW_NUMBER() OVER (ORDER BY invoice_date) AS date_key,
    invoice_date,
    STRFTIME(invoice_date, '%Y') AS year,
    STRFTIME(invoice_date, '%m') AS month,
    STRFTIME(invoice_date, '%d') AS day,
    STRFTIME(invoice_date, '%A') AS day_of_week,
    CASE
        WHEN STRFTIME(invoice_date, '%m') IN ('01', '04', '07', '10') THEN 1
        WHEN STRFTIME(invoice_date, '%m') IN ('02', '05', '08', '11') THEN 2
        WHEN STRFTIME(invoice_date, '%m') IN ('03', '06', '09', '12') THEN 3
    END AS quarter,
    CASE
        WHEN STRFTIME(invoice_date, '%w') IN ('0', '6') THEN TRUE
        ELSE FALSE
    END AS is_weekend,
    FALSE AS is_holiday
FROM staging



Q- so ow can i fix it