-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move --full-refresh into a model config #1009
Comments
Presently, flags are set at a global level in dbt. In In the jinja layer, materializations use these flags to determine exactly what SQL should be run. There's an example of that over here. A better approach is to add new configuration options (like non_destructive or full_refresh) for dbt resources, then use the global flags to set these options on the resources during parsing. Finally, the materialization code can be updated to reference an attribute of a model, like As a result of this change, the behavior of the This might be out of scope for this issue, but I think we should deprecate (and eventually remove) the |
Feature
Feature description
Presently,
--full-refresh
and--non-destructive
can only be set on the CLI and apply to all models. Instead, these flags should be pushed down as model configs. The--non-destructive
and--full-refresh
flags can still exist, but they should set individual model configurations under the hood.Since these configs will be specified with model-level granularity, complex behavior can be coded using variables, macros, etc.
Who will this benefit?
Users with sophisticated dbt deployments who need to trigger complex dbt invocations
Via @elexisvenator in Slack:
See also: #320
The text was updated successfully, but these errors were encountered: