Azure / Azure/data-api-builder
[Enh]: introduce `dab update <stored-proc> --parameter <param-name> --<property-name> <property-value>`
- Vorherrschende Sprache
- C#
- Sterne
- 1.5k
- Forks
- 370
- Ø Merge
- 3 T. 22 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
## 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
```
Beitragsleitfaden
Rechercherichtung
Beginne damit, den bestehenden Befehl `dab update` und seine Syntax für Bulk-Parameter nachzuverfolgen, und untersuche anschließend die zugehörigen CLI-Tests und die Dokumentation. Die Änderung ist abgeschlossen, wenn gezielte Updates eine Eigenschaft eines Parameters einer gespeicherten Prozedur ändern können, die Legacy-Bulk-Neudefinition weiterhin mit der vorgeschlagenen Syntaxausgabe funktioniert und die dokumentierten Beispiele die neue Form empfehlen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- cli, databases
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100