dataform icon indicating copy to clipboard operation
dataform copied to clipboard

Support for outputting diff details when using --dry-run

Open lewish opened this issue 6 years ago • 0 comments

When running dataform run --dry-run, Dataform prints out a list of all actions (tables, views, operations etc) that will be created.

It doesn't consider whether these outputs already exist however, and will recreate all outputs regardless of if they have changed or not. This is OK, but there should be a way to tell when an output will be updated.

Proposal

Add metadata to the output of the dataform run --dry-run that shows what action will be performed for each action in the graph.

Views

For each view that will be created, we should show whether the view definition will be changed or not. The output of --dry-run should show what action we will perform for this view, either update or unchanged.

Tables & Incremental tables

For each table that will be created, we can't currently tell if it needs to be created or not. However, we do know if it already exists.

The output of --dry-run should show for each table the type of action that is being performed, either refresh (the table exists but must be refreshed) or create.

Operations

Operations will always be run, as we don't know their behaviour. Therefore we can always show the action as run.

Assertions

Assertions will also always be run currently, so we can show the action as run.

lewish avatar Jan 10 '20 08:01 lewish