microsoft / microsoft/sqlmanagementobjects
Replace some SMO enumerations with string constants
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 143
- Fork
- 28
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
One source of continuous maintenance in SMO is adding new enumeration values as Azure SQL Database and SQL Server evolve over time.
Unless we update the enumerations SMO is unable to generate scripts for objects that use the new values. For the most part, there's very little value in having an enumeration for these identifiers instead of string constants. SMO should be able to store any value returned from the server and use it in script generation without converting it from string to enum value. We can continue to facilitate C# programming by replacing the enumerations with static classes of string constants that have C#-style names for the values SMO knows about.
Here's an incomplete list of candidate enumerations to replace with strings in the next major version bump:
ExternalDataSourceType
ExternalFileFormatType
ExternalStreamingJobStatusType
ExternalTableRejectType
DwTableDistributionType
DwViewDistributionType
ExternalLanguageFilePlatform
AuditDestinationType
OnFailureAction
SensitivityRank
AuditActionType
DatabaseScopedConfigurationOnOff
TemporalHistoryRetentionPeriodUnit
DataRetentionPeriodUnit
CatalogCollationType
AgentSubSystem
JobExecutionStatus
Another enum that needs some re-design to allow SSMS to support new permission values without a SMO update is DatabasePermissionSetValue
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia individuando le dichiarazioni e gli utilizzi delle enumerazioni candidate elencate nell’issue, incluse ExternalDataSourceType, AuditActionType e DatabasePermissionSetValue. Determina la riprogettazione necessaria e il relativo impatto sul supporto di SMO e SSMS prima di proporre l’ambito; il lavoro sarà completato quando i valori selezionati potranno accettare nuovi identificatori restituiti dal server senza un aggiornamento di SMO.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- azure, csharp, sql
- Ambito
- database
- Tipo di issue
- Refactoring
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100