* Adding exclude folder and base for move folder
* checkpoint
* rename
* Fixing up tests
* Adding exclude test to projController
* Adding tests
* fixing order of service.moveX() calls
* Updating move() order in sqlproj service
* PR feedback
* unskipping
* reskipping test
* Fixing folder move conditional
* updating comments
* server role dialogs
* dialogs for other types
* refactor
* find object dialog
* script button
* refactoring
* fix issues
* fix title
* vbump sts
* remove language from links
* Add profile section in Publish project UI
* Move publish profile row below Publish Target
* Add contract for savePublishProfie and SaveProfileAs button functionality
* Make the DacFx contract functional
* Send values from UI to DacFx service call
* Fix build error
* Address comment, remove print statements
* Address comments
* Set correct connection string
* Fix functionality for rename, exclude, delete publish profiles. Add new profile to the tree and sqlproj.
* Address comment to update alignement of button
* Address comments
* Update button to use title casing
* Move call to STS move api into project.ts (#22071)
* move call to STS move api into project.ts
* remove undefined
* Remove convert to sdk style code (#22081)
* remove convert to sdk style code
* remove from package.json
* Merging latest from main (#22097)
* [SQL-Migration] Login migrations telemetry (#22038)
This PR enhances telemetry for login migrations (and in the following ways:
Add details for starting migration (number of logins migrating, type of logins)
Log Migration result (number of errors per step, duration of each step, type of logins, if system error occurred)
Add sql-migration extension to our telemetry
Adds details when trying to connect to target
Tracks clicking "done" from the wizard
Fixes bucketizing for navigating telemetry in the login migration wizard
Sample usage of kusto query for new telemetry:
RawEventsADS
| where EventName contains 'sql-migration'
| extend view = tostring(Properties['view'])
| extend action = tostring(Properties['action'])
| extend buttonPressed = tostring(Properties['buttonpressed'])
| extend pageTitle = tostring(Properties['pagetitle'])
| extend adsVersion = tostring(Properties['common.adsversion'])
| extend targetType = tostring(Properties['targettype'])
| extend tenantId = tostring(Properties['tenantid'])
| extend subscriptionId = tostring(Properties['subscriptionid'])
| where view contains "login"
//| where adsVersion contains "1.42.0-insider"
| where ClientTimestamp >= ago(18h)
| project EventName, ClientTimestamp, SessionId, view, pageTitle, action, buttonPressed, targetType
, tenantId, subscriptionId
, adsVersion, OSVersion, Properties
* Add Secure Enclaves dropdown with customizable Advanced options (#22019)
* Update extension READMEs (#22079)
* Fix query-history README images (#22084)
* [Loc] update to mssql and sql-migration xlf files (#22087)
* [Loc] small fix to Portuguese lcl file (#22088)
* [Loc] small fix to Portuguese lcl file
* remove newline
* Adding None bindings to the sqlProjects service (#22085)
* Adding None bindings
* updating names of None bindings
---------
Co-authored-by: AkshayMata <akam520@gmail.com>
Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Alex Ma <alma1@microsoft.com>
* Swap add and update sqlcmd variables in sql projects to use STS apis (#22086)
* delete sqlcmd variable working
* undo add
* remove variable from add and update sqlcmd variable apis
* hookup add and edit sqlcmd variable
* update vscode-mssql.d.ts
* move add and edit to project.ts
* update STS and tests
* move delete sqlcmd variable to project.ts (#22104)
* add test for add and edit sqlcmd variable (#22107)
* Swapping property access to STS (#22115)
* checkpoint
* Adding sqlproj property bindings
* Swapping out property loading and setting
* consolidating to this.sqlProjService
* Update dacpac reference to use STS api (#22116)
* Update add dacpac reference to use STS api
* remove changes for project ref
* validate unset settings from add database reference dialog
* update one more place getting sqlprojservice
* addressing comments
* fix path for dacpac reference (#22143)
* Swap add project reference to call STS (#22148)
* initial changes for swapping add project reference
* fix include path
* move common logic to helper function
* read sqlcmd variables from STS (#22147)
* Swapping .sqlproj- and crossplat compatibility-related functions to use STS (#22146)
* Supporting roundtrip
* Updating sqlproj style checks and cross-platform compatibility to use STS
* removing unnecessary awaits
* Fixing assertions
* Adding roundtrip update confirmations
* test cleanup
* cleaning up comment; localizing error
* Swap add system db reference (#22171)
* swap adding system database references
* fix tests
* remove only in test
* Read database references from STS (#22179)
* Read database references from STS
* fix system dacpac names
* fix project reference name
* Swap changeTargetPlatform to call STS (#22172)
* swap changeTargetPlatform to call STS
* Address comments
* De-duplicating enum for SystemDatabase (#22196)
* Deudping SystemDatabase enum
* simplifying enum refs
* Removing the now-unused imports code from SqlProjects (#22199)
* Removing unused importTargets entries
* whitespace; also to retrigger github checks on correct branch
* Hooking in Move() for Nones and PublishProfiles (#22200)
* Swap delete database reference to call STS (#22215)
* initial changes
* update contracts
* remove unnecessary info from SystemDatabaseReferenceProjectEntry
* uppercase master and msdb
* cleanup
* update test
* update comment
* undo change in projectController.ts
* remove unused system dacpac helper functions (#22204)
* more cleanup of project.ts (#22242)
* fix a couple database reference tests (#22248)
* Organizing sqlcmd variable and db reference code (#22284)
* organize database references and sqlcmd variable functions
* separate database reference tests
* Script and folder get + add support (#22166)
* Initial sqlobjectscripts
* adding mock filter
* test fixing
* another test passing
* swapping pre/post/none checkpoint
* awaiters
* convert addExistingItem
* swapping folders
* removing print
* stripping out project folder and file readers
* adding some regions
* Updating sqlproj style checks and cross-platform compatibility to use STS
* Updating sqlproj style checks and cross-platform compatibility to use STS
* added type property to tree items
* projectController swapovers
* removing imported targets
* Deleting the last of the TS XML parsing!
* Removing old functions
* renamed readNoneScripts to readNoneItems
* fixing path passed to STS calls
* remove system dacpac tests that were moved to DacFx (#22299)
* fix error when opening file after adding a file to sql project (#22309)
* fix error when opening file after adding a file to sql project
* remove unused import
* fix exclude for table and externalStreamingJob (#22310)
* add reload project (#22313)
* set DSP from STS (#22320)
* fix adding post-deployment script and existing item (#22317)
* Test cleanup for .sqlproj content operations (#22330)
* Fixing up tests
* sqlproj content operations tests
* remove only
* Cleanup
* Correcting collation
* cleanup constants.ts (#22336)
* fix folders not showing in project tree (#22319)
* Fix project controller tests (#22327)
* fixing ProjectController tests after swap
* remove only from database reference tests
* change system dbs back to lowercase in sql projects (#22353)
* Bump tools service
* Updated yarn.lock file
* pass SystemDacpacsLocation when building legacy style sql projects (#22329)
* Benjin/fix types (#22365)
* Updated yarn.lock file
* Fixing types
* fix projectController tests (#22375)
* Fixing the deletion flow for files and folders (#22366)
* checkpoint
* PR feedback
* Fixing up SDK-style operations project test group (#22377)
* Fixing up SDK-style project test group
* Removing .only
* Fixing up database reference tests (#22380)
* Fixing DB reference test group
* Extra cleanup
* removing only
* Consolidating None and PublishProfile; lighting up test (#22382)
* Lighting up project property tests (#22395)
* Checkpoint
* Lighting up project property tests
* removing timeout
* Fixing buildHelper test (#22400)
* Unskipping up roundtrip test (#22397)
* Refactoring database references to split literalVariable from databaseName (#22412)
* refactoring database references to split databaseVariableLiteralValue out from databaseName
* renaming more properties
* Removing branch in entry population
* removing only
* Fixing baselines for delete test
* PR feedback
* Fixing up ProjectTree tests (#22419)
* Fixing up projectTree tests
* remove only
* Updating projectController exclude test (#22413)
* Updating test
* moving filtering for external folders to readFolders() method
* Removing EntryType import
* fix ups (#22435)
* adding extra info for test failure
* hide exclude folder from context menu until it's supported (#22454)
* Adding current test name to generated folder to avoid conflicts (#22478)
* Adding current test name to generated folder to avoid conflicts
* passing correct test parameter in
* Adding trimming and entropy
* Deleting unused baselines (#22497)
* Replacing addToProject() with addSqlObjectScripts() (#22489)
* checkpoint
* Fixing test
* Updating file scraper function to filter only to .sql files (no folders, no txt)
* changing var names to reflect that the lists only contain .sql scripts
---------
Co-authored-by: Kim Santiago <31145923+kisantia@users.noreply.github.com>
Co-authored-by: AkshayMata <akam520@gmail.com>
Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Alex Ma <alma1@microsoft.com>
* starts of sqlprojectsservice
* copy to mssql
* adding all the boilerplate
* updating service call structures
* Fixing up test mocks
* Adding comments to all the bindings
* blank space
* swapping for Promise; adding vscode-mssql type bindings
* patching
* initial commit
* leave only march release objects
* clean up
* login dialog
* localize and use background operation
* code cleanup
* remove tab
* support server role in login
* remove canEditName
* add user support
* comments and bug fixes
* remove hasDBAccess for now
* refactoring
* fix error
* user dialog UI
* telemetry, error handling and refactoring
* Fix references to dialogInfo (#21914)
* update telemetry
* Bump STS and use actual object management service
* add preview and handle no-change scenario
* fix merge issue
---------
Co-authored-by: Karl Burtram <karlb@microsoft.com>
* add import permissions option to create project from db dialog
* change 'import' to 'include'
* update azdata dependency version
* update STS to 4.3.0.37
* fix test
* WIP - show error message for failed SKU recommendation
* WIP - run query to get correct instance name
* WIP - integrate elastic model recommendation
* Remove private endpoint restriction text
* Add feature switch for elastic recommendation
* Clean up
* Clean up
* Misc UI fixes
* Update package.json with updated azdata dependency
* Remove unused lines
* Fix broken next button
* Vbump extension to 1.0.6
* Update SQL DB card to show number of recommendations for correct model
* Include Object Types logic refactored and options fetching from DacFx
* Removed localized object types constants
* Prop name updated and references and tests updated
* updated comments
* STS vBump
* updating the test file to pass the PR Validations
* Include Objects Coming from DacFx and tests all working as expected
* Exclude Object types functionality is working as expected and Unit tests
* more refactor updates
* Updated comments and prop name
* Addressing the coments and code updates accordingly
* Updating according to the comments
* STS vbump
* These changes should be deleted with SC changes, not here
* format fixed
* OptionsMapTable logic to replace the deployment hardcoded values final
* Test modifiaction
* OptionsMApTable updates with STS and review commetns
* comments added and option string moved to constants file
* Reverting the options button css related change and will put in other PR
* converted optionsMapTable to custom type and references.
* Options prop changes and model updates
* Reset btn event method name fixed
* removed local booleanOptionDict var and using the existing one
* updated code with removed local vars
* Update to booleanOptionsDictionary name
* merged two variable to one
* Refactoring code and updating variables
* separated lookup and data array and refactor
* missing visibility
* reset logic revised and no other edgecases found
* variable names updated to meaningful
* vbump here to test the checks, sending new vbump PR separately
* Dac Deployement options model updates according to STS changes
* Undoing vscode whitespace changes which were added accidentally
* Updated model with dac deploy options display names coming from the STS API
* Combining all exisitng code updates into single branch/pr. it includes mssql model updates and SC/dacpac model, code and testupdates
* sql db proj test failure fix
* STS version bump to 4.0.0.4
* Rebase from main branch
* Made mssql a module
* remove rpc specific stuff
* Added create sas RPC call
* Backup to url works now
* Moved createSas RPC to the BlobService
* Relocated createSas RPC from sql-dataprotocolclient to the mssql
* After rebase
* Removed duplicate symbol
* Renamed Blob to AzureBlob and relocated CreateSasResponse to mssql extension
* Removed AzureBlobProvider, removed AzureBlobService feature
* renamed blob to azureblob, converted thenable to promise
* Simplify API
* fixes
* docs update, blob to azureblob update
* bumped sts version
* Fix config
Co-authored-by: chgagnon <chgagnon@microsoft.com>
* Initial check in for SQL migration SKU recommendation feature (#18116)
Co-authored-by: Raymond Truong <ratruong@microsoft.com>
* add TargetSelectionPage, remove AccountSelectionPage, fix saveAndClose bugs (#18092)
* update sku interfaces (#18150)
* create the skuRecommendationResultsDialog (#18151)
* add TargetSelectionPage, remove AccountSelectionPage, fix saveAndClose bugs
* create skuRecommendationResultsDialog
* Replace placeholder SKU recommendation results with actual results (#18153)
* Replace placeholder SKU recommendation results with actual backend call results
* Remove skuRecommendationExample
* Replace number fields in interfaces with correct enums, and update UI text
* add getAzureRecommendationDialog for performance collection (#18159)
* add getAzureRecommendationDialog when there are no recommendations available
* update 'get azure rec' / 'view details' link values
* add condition to check if recommendations are available
* Implement start/stop perf data collection + import perf data into new UI (#18149)
* Implement start/stop perf data collection
* add getAzureRecommendationDialog when there are no recommendations available
* update 'get azure rec' / 'view details' link values
* add condition to check if recommendations are available
* Implement import existing data + start/stop perf collection with new UI
Co-authored-by: Rachel Kim <rackim@microsoft.com>
* Expose SqlInstanceRequirements in SKU recommendation results (#18207)
* Expose SqlInstanceRequirements
* Move string literals to constants file
* Fix formatting in mssql.d.ts
* create storage properties table (#18215)
* Edit sku recommendation parameters (#18244)
* Edit sku recommendation parameters
* make _targetPercentileDropdown not editable; styling updates
* Azure recommendation section exposes data collection status and stop option (#18246)
* Edit sku recommendation parameters
* create azure recommendation details section on sku page
* Improve error handling + add auto refresh + other small changes (#18228)
* Update source properties table
* WIP - refresh perf data collection
* Add auto refresh logic
* Address comments
Co-authored-by: Rachel Kim <rackim@microsoft.com>
* Show/hide azure recommendation components based on data collection source and status (#18254)
* add refresh recommendation button; show/hide content based on perf collection status
* show/hide azure rec content based on perf data source scenarios
* add popups for start/stop; allow user to restart data collection; add perf collection to save close; add info tooltips (#18278)
* Update SKU recommendation timer logic (#18281)
* Update timer logic
* Fix misc UI bugs
* update sql migration extension readme (#18295)
* Remove empty constant, as this may have broken the build
* Fix 'save and close' behavior for SKU recommendation (#18301)
* Update timer logic
* Fix misc UI bugs
* 'WIP'
* Add logic to restore correct SKU recommendation state when reloading
* SKU UX enhancements - status info, button validations, savedInfo logic (#18320)
* add stop/inprogress status icons to perf collection status text, update restart icon
* refactor savedInfo as an interface, edit parameter recommednations are saved, add open folder inputbox validation, handle no recommendations available scenario
* fix getazureredialog bug, cleanup cold
* nit card styling
* Update recommendations whenever user changes list of databases to assess + misc clean up (#18323)
* Consolidate constants, clean up redundant functions, misc clean up
* Remove old SKU recommendation interfaces
* Update some more strings
* Telemetry events for SKU Recommendation (#18282)
* Telemetry events for SKU Recommendation
* Addressing comments -
1) fixed camel casing
2) removed extra logging to console
3) added telemetry for subid, rg, tenantid on targetselectionpage
* Resolving conflicts
* Addressing comments - 1) removing filename 2) moving all numbers to measurements.
* Resolving comment - Fixing telemetry value for tenant id.
* removing warning 'logError' is declared but its value is never read (#18333)
* Stop existing data collection when leaving and starting a new migration + update timers (#18339)
* Refresh recommendations when pressing stop data collection button
* Fix orphaned data collection when save and closing and starting a new
migration
* Revert "Refresh recommendations when pressing stop data collection button"
This reverts commit e6fb2ade8f8a41952adb81cb0ee852414dfa4ef2.
* Update timers to use production values
* Remove unused import
* address bug bash issues: add learn more link, add last refreshed time, fix vm card view detail open issue, remember last selected folder, remove strings, refactor refresh logic on sku page (#18340)
* Address comments
* Update to sqltoolsservice 3.0.0-release.204
Co-authored-by: Rachel Kim <rackim@microsoft.com>
Co-authored-by: Neetu Singh <23.neetu@gmail.com>
* added server infor and metrics for table designer
* update generate script
* pr comments
* format more files
* pr comments
* make changes to core
* remove unused imports
* add server info
* revert enum change and add publish event
* format doc
* nitpicks
* remove os version
* remove modifier from telemetry info
* remove error message