Skip to content

[Enh]: introduce dab update <stored-proc> --parameter <param-name> --<property-name> <property-value> #3191

@JerryNixon

Description

@JerryNixon

What?

Introduce:

dab update <entity-name> \
  --parameter <param-name> \
  --<property-name> <property-value>

This allows updating a single stored procedure parameter without redefining all parameters.

Why?

Today, modifying a single parameter requires redefining every parameter.

Also, this is

Example of the problem

To change just one default value, you must restate all parameters:

dab update UpdateCustomerPreferences \
  --parameters.name "CustomerID,EmailNotifications,SMSNotifications,PreferredCurrency,MarketingOptIn" \
  --parameters.description "Customer ID to update,Enable email notifications for orders and promotions,Enable SMS notifications for shipping updates,Preferred billing currency (ISO 4217 code),Opt in to marketing communications" \
  --parameters.required "true,false,false,false,false" \
  --parameters.default ",true,false,EUR,false"

Even though only PreferredCurrency changed.

Example of the solution

Update only the intended parameter:

dab update UpdateCustomerPreferences \
  --parameter PreferredCurrency \
  --default=EUR

Update description:

dab update FindProducts \
  --parameter SearchText \
  --description "This is the new description value."

How?

  • Keep supporting the existing bulk parameter syntax.
  • Introduce targeted parameter mutation syntax.
  • Update documentation to recommend the new approach.
  • Leave legacy syntax for full parameter redefinition scenarios.

Output

  • When legacy syntax is used, output/log the new syntax preference.
Using legacy parameter syntax.

Consider using targeted syntax:

  dab add <entity-name> \
    --parameter <parameter-name> \
    --property-name <property-value>

  dab update <entity-name> \
    --parameter <parameter-name> \
    --property-name <property-value>

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions