Insert only specific columns with DBT

Hello all!

I’m having a problem with selecting and inserting in the dbt model.

I have a column called “ID” which is an autoincrement column, and I don’t want to select and insert this column value to Snowflake. The query in raw SQL would look like:

insert into final_table (name, age, created_at)
select *
from person_table

When I translate it to dbt, looks like this:

        materialized = 'incremental'

with person_table as (
  select *
  from person_table

from person_table

{% if is_incremental() %}
    AND created_at > (select max(created_at) from {{ this }})
{% endif %}

However, as you can see, I don’t want to INSERT INTO with the ID column, because whenever I create a new row, it is going to auto-generate the ID. In the compiled code, It keeps trying to insert all the columns from the table. So, is it possible to exclude some columns in the insert of dbt?

If feels like a super basic feature :confused: