Azure / Azure/data-api-builder
[Enh]: introduce `dab update <stored-proc> --parameter <param-name> --<property-name> <property-value>`
- 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
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