* initilaizing the sqlproj display options work
* added more code to the options dialog, need default option values
* Except REset Button, all works and need to refactor and test
* DisplayOptions for SQL DB Proj completed, refactor needed
* Tests for display options
* refactor code and removed unnecessary await calls
* Description values getting from STS API and code refactor
* DacpacExtesnion test model error fix
* updates related to STS model updates
* Dac Deployement options model updates according to STS changes
* Undoing file updates and moving as separate PR
* Undoing vscode whitespace changes which were added accidentally
* Options display name coming from API
* Updated model with dac deploy options display names coming from the STS API
* errors fixed after merge to main
* separating model related changes after merge, separate PR exists
* wrong Comment for the test case removed
* code refactor updates
* Hyperlink changes to secondary button and style updates
* refactoring code and comments
* importing type only instead of whole azdata and comment updates
* projectcontroller test fix
* removed duplicate file updates from other PR
* code refactor according to comments
* Added dispose to the onclick handler
* Added test case
* parameter change results error and fixed
* Addressing all comments with updates
* Unused variable removed and missed with previous commit
* Updated the ppublish button and width
* Adjusted the database dropdown and options margins to make all input align in same line
* Updated the database width and moved stylings to uiconstants file
* add 'open in designer' to context menu of tables in sql projects
* fix tests
* Address comments
* enable table designer for sql database proj
* update label and issues on init
* vbump sts
* use promisified fs
* pr comments
Co-authored-by: Alan Ren <alanren@microsoft.com>
* Add sqlproj property to trace the origin of the project.
As part of the database migration process (schema conversion, in particular) we want to be able to tell when converted schemas are being built/deployed to the actual database server. Given that we rely on the SQL Database Projects ADS extension for the compilation/deployment, we don't have too many options other than updating the said extension.
The suggested approach is to make the following changes:
1) Add new property to the sqlproj file (called `DatabaseSource`), which will maintain the origin(s) of the project. The property can contain multiple values (separated by semicolon), in case same project contains objects produced by multiple sources (extract schema, convert from another database, etc.).
2) During build and deploy actions, send the well-known values from the newly added property to the telemetry. We don't want to send any random value of the property, as it may raise some privacy concerns. Instead we define a list of the well-known values that we know do not carry any personal information and send those, if they are specified.
This change adds all necessary APIs to the SQl Database projects extension which will be consumed by our migration extensions to populate new `DatabaseSource` property.
* Use `undefined` instead of `null`
Co-authored-by: Kim Santiago <kisantia@microsoft.com>
* add sdk style project template
* update description and order
* add SDK style project option to create project from db dialog
* fix test
* switch to checkbox
* remove not used string
* fix test
* add sdk style project template
* update description and order
* update template
* update template and add link
* remove ToolsVersion and xmlns from project node
* update template name to SQL Database (SDK)
* remove .net 6 version cutoff for building sql projects
* Revert "Warning when .NET 6 SDK is detected (#17422)"
This reverts commit 2ed8aeb565.
* add back skipVersionSupportedCheck
* add back return false
* addressing comments
* don't show SSDT update warning for new style projects
* update strings
* add checks for the 2 other ways to specify msbuild sdk
* add link to docs on how to use project sdk
Co-authored-by: Kim Santiago <kisantia@Kims-MacBook-Pro.local>
* Adding prompt for project name
* Updating test
* PR feedback
* Fixing rename logic so that folder is also named according to project
* Updating autorest test to confirm rename
* Giving user option to install autorest globally or run via npx
* Adds message for when no files are generated (no models in spec)
* Adding test
* Reinstating the rest of the test suite
* PR feedback
* Fixing tests to stub new prompt when test runner doesn't have autorest installed
* PR feedback
* fix typo
* fix typo