Skip to content

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

Open
@lewish

Description

@lewish

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions