-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Labels
enhancementNew feature or requestNew feature or requeststaleIssues that have gone staleIssues that have gone stalestateStateful selection (state:modified, defer)Stateful selection (state:modified, defer)
Description
extension of #2713
Describe the feature
Let's say a project has a source defined like:
sources:
- name: my_postgres_db
database: "{{ 'raw' if target.name == 'prod' else 'raw_sampled' }}"Today, if running in dev and comparing to a manifest generated by a prod target, state:modified+ will include all models that depend on source:my_postgres_db because the database differs. Ideally, we'd be able to tell that the unresolved database (Jinja statement) is identical.
I'm most interested in sources and database representations (database, schema, identifier). If it made sense, though, we could broaden this issue to the matter of storing unresolved:
- database representations
- resource properties (will the distinction between node configs and resource properties even make sense in a post-Set configs in schema.yml files #2401 world?)
Describe alternatives you've considered
- The proposal for
state:modifiedsubselectors gives decent user-side answers by letting people "switch off" the intersection ofstate:modified.database_representationsand specific sources.
Who will this benefit?
- Users who develop, test, and deploy against genuinely different source datasets. While this isn't something we recommend in the general case, it's the norm at organizations of a certain size + maturity.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requeststaleIssues that have gone staleIssues that have gone stalestateStateful selection (state:modified, defer)Stateful selection (state:modified, defer)