What is the reasoning for keying source dbt assets...
# integration-dbt
What is the reasoning for keying source dbt assets with source_name and table name rather than using the schema which is used in the keying of model assets? Suppose, an upstream asset that is pandas or airbyte based and uses schema + table, the lineage will be broken unless one happens to name the source_name the same as the schema. I know I can override this behavior in load_assets_from_dbt_project() but I don't want to follow my own standard that might break other integrations. Thoughts? https://github.com/dagster-io/dagster/blob/master/python_modules/libraries/dagster-dbt/dagster_dbt/asset_utils.py#L32
We have done exactly what you suggest -- Snowflake asset names for everything in dbt, ad hoc dagster assets, etc., are named
['snowflake', db, schema, name]
. That allows other assets to pick them up gracefully even if they're in another code location.
❤️ 1