Refactor CLI to Command Pattern #279
Labels
priority: p1
High priority. Fix may be included in the next release.
Release
Next release candidate
type: feature request
'Nice-to-have' improvement, new feature or different behavior or design.
As the CLI has grown, there's many options that don't make sense to be specified together however they all exist for the same command (
run
). For example,--grouped-columns
is an optional arg to therun
command but it's only valid for a specific type of validationGroupedColumn
. Same with--primary-keys
andRow
(#277).To support future growth of the CLI and to simplify usage, I propose each validation becomes it's own top-level command. This would change the command-line from:
to
This change could be made backward compatible because the
run
command can continue to exist but now each command can be separated out into their own module with only the options relevant to that command present and inheriting from a validation command class (Command Design Pattern). This is similar to how we designed the gcloud SDK.The text was updated successfully, but these errors were encountered: