Azure / Azure/data-api-builder

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

Open
#3,191 0 comments 0 reactions 0 assignees View on GitHub
2.x cli stored-procedure
Dominant language
C#
Stars
1.5k
Forks
370
Avg merge
3d 22h
Merged PRs (30d)
9

Description

## What?

Introduce:

```
dab update \
--parameter \
--
```

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 \
--parameter \
--property-name

dab update \
--parameter \
--property-name
```

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing `dab update` command and its bulk parameter syntax, then inspect the related CLI tests and documentation. The change is done when targeted updates can modify one stored-procedure parameter property, legacy bulk redefinition still works with the suggested syntax output, and the documented examples recommend the new form.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
cli, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.