Commit Graph

58 Commits

Author SHA1 Message Date
Kim Santiago
40e501fe32 update Microsoft.Build.Sql SDK version used to build legacy sql projects to 0.1.12-preview (#24236) 2023-08-28 15:44:15 -10:00
Kim Santiago
82f5ef7ea3 Download ScriptDom separately when building legacy sql projects (#23201)
* update sql projects build code to retrieve script dom nuget separately from dacfx nuget

* update readme

* cleanup shared code

* update scriptdom nuget version

* refactor
2023-05-26 16:51:42 -07:00
Sakshi Sharma
757067b132 Required changes to make sql projects extension work with vscode (#22847)
* Update CreateProject api

* More updates

* Fix a few comments

* Address comments

* Remove package.json changes

* Fix error

* Fix testUtil
2023-04-28 10:27:59 -07:00
Drew Skwiers-Koballa
6447e92870 updating SQL projects extension readme (#22632) 2023-04-05 13:01:51 -07:00
Benjin Dubishar
15c0c68e44 SQL Database Projects backend swap to DacFx/Tools Service (#22451)
* 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>
2023-03-28 13:39:57 -07:00
Kim Santiago
4ed1ef34b6 update version of Microsoft.Build.Sql used for building legacy sql projects (#22010) 2023-02-23 15:12:09 -08:00
Kim Santiago
3932332694 update sql projects strings to install .net 6 SDK instead of .net core 3.1 (#21235)
* update sql projects strings to install .net 6 SDK instead of .net core 3.1

* update to us aka.ms link
2022-11-21 11:53:12 -08:00
Kim Santiago
ff56398fa9 add missing .dll in list of dlls used for project build (#21277) 2022-11-21 10:14:25 -08:00
Kim Santiago
17d3489778 Update Microsoft.Build.Sql version to 0.1.7-preview (#21242)
* update the default Microsoft.Build.Sql version used by sql projects

* update Microsoft.Build.Sql SDK version

* update baselines and template to also use 0.1.7-preview
2022-11-17 14:09:03 -08:00
Kim Santiago
7c34c4bdc0 add config option for Microsoft.Build.Sql version used to build legacy sql projects (#20532)
* add config option for Microsoft.Build.Sql version used to build legacy sql projects

* addressing comments
2022-09-01 17:05:26 -07:00
Sakshi Sharma
5e8ebe2340 Update default .NET installation for Linux (#20521)
* Update default .NET installation for Linux

* Fix error

* Address comments
2022-09-01 10:29:14 -07:00
Kim Santiago
8926c4f605 Remove sql project build dependency on STS (#20447)
* download Microsoft.Build.Sql sdk and extract

* cleanup extracted folder and nuget

* add constants

* cleanup

* remove package-lock.json

* making outputChannel required and some cleanup

* only download if the files aren't already there

* Add todo

* add try catches

* addressing comments
2022-08-31 14:04:06 -07:00
Udeesha Gautam
02f859ac92 fix for sensitive text in output message (#19071) 2022-04-14 09:54:06 -07:00
Nemanja Milovančević
5e68ff1dfe Make mssql extension a module (#18804)
* Rebase from main branch

* import from module

* Add mssql module ref

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2022-03-24 11:09:55 -07:00
Vasu Bhog
80007a72cc Remove sql-bindings logic from sql-database-projects (#18754)
* remove sql-bindings logic from sql-database-projects
2022-03-17 11:36:28 -07:00
Kim Santiago
d24a289af5 fix SDK style projects not being able to find system dacpacs (#18218)
* fix SDK style projects not being able to find system dacpacs

* fix tests
2022-02-16 09:36:01 -08:00
Charles Gagnon
1c9ba64ee0 check-param-names (#18189) 2022-01-31 12:39:22 -08:00
Kim Santiago
43d235ea42 update .net sdk location strings now that .net 6 is supported (#17757)
* update .net install strings now that .net 6 is supported

* copy old setting value to new setting

* update strings

* add link to issue
2021-12-02 15:32:07 -08:00
Kim Santiago
0847f7cd38 Remove .net 6 version cutoff for building sql projects (#17736)
* 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
2021-11-23 14:32:05 -10:00
Charles Gagnon
0caa6390b9 Fix "unsupported version" error when adding sql binding package (#17721) 2021-11-22 10:44:46 -08:00
Kim Santiago
bb28646670 Update one more variable name for sdk style projects (#17710) 2021-11-22 08:13:36 -10:00
Kim Santiago
6f03cbac97 support building msbuild sdk style projects (#17675)
* support building msbuild sdk style projects

* fixes after merge
2021-11-17 07:59:43 -10:00
Lucy Zhang
3d9f54b0c0 Sql Binding: Add "Check out pane for more details" when nuget package download fails (#17680)
* check output for more details

* detail error

* wait for result from showerrormessage
2021-11-16 15:01:05 -08:00
Kim Santiago
24a6de404c undo adding space in net core sdk location setting (#17684) 2021-11-16 10:51:24 -10:00
Kim Santiago
66c438db4d Fix sql projects net6 warnings (#17673)
* fix .net 6 error showing on startup

* fix double warning

* addressing comments

* update key string
2021-11-16 10:02:15 -10:00
Benjin Dubishar
5160814623 Dedupe shell command execution logic (#17516)
* Moved to shellExecutionHelper

* First crack

* fixed the deploy tests

* PR comments

* trigger GitHub actions

Co-authored-by: llali <llali@microsoft.com>
2021-11-04 17:16:58 -07:00
Benjin Dubishar
86320155ed Correcting log messages during autorest execution selection (#17434)
* Correcting log messages during autorest execution choice

* Combining redundant strings

* Correcting icon + loc

* Fixing typo
2021-10-22 06:01:11 -07:00
Z Chen
2ed8aeb565 Warning when .NET 6 SDK is detected (#17422)
* Check for max supported version

* Separate dialog for downgrade warning

* Address PR comments

* Use markdown link

* Update warning message
2021-10-21 13:48:52 -07:00
Benjin Dubishar
901b90317c Prompts user for desired action when autorest is not installed (#17305)
* 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
2021-10-15 13:26:58 -07:00
Benjin Dubishar
69128c0689 Verbose output for autorest, displaying output pane on error (#17308) 2021-10-14 15:22:53 -07:00
Kim Santiago
2750dc0fe0 Add link to sql bindings repo (#17263)
* add link to sql bindings repo

* move to then

* const
2021-10-05 17:03:12 -07:00
Kim Santiago
4e5c99df02 Add support for adding new setting in local.settings.json in add SQL binding quickpick (#17093)
* be able to add new setting in local.settings.json

* cleanup

* addressing comments

* remove todo comment

* addressing comments

* update some strings to uris
2021-09-22 14:12:01 -07:00
Benjin Dubishar
08e15bce99 Adds autorest-based SQL Project generation to SQL Database Projects extension (#17078)
* Initial changes

* checkpoint

* Constructing project with post deployment script

* Correcting to intentionally read from cached list of projects

* Adding activation event, fixing fresh workspace bug

* Convert netcoreTool and autorestHelper to share a helper class for streamed command

* Include npm package version to force update

* test checkpoint

* Unit tests

* Added contextual quickpicks for autorest dialogs

* Adding projectController test

* Added projectController test, some refactoring for testability

* Merge branch 'main' into benjin/autorest

* Fixing 'which' import

* PR feedback

* Fixing tests

* Adding additional information for when project provider tests fail

* Hopefully fixing failing tests (unable to repro locally)

* Adding Generate Project item to workspace menu

* PR feedback
2021-09-16 20:38:40 -07:00
Kim Santiago
a47276f708 Load settings from local.settings.json for add sql bindings quickpick (#16957)
* load settings from local.settings.json for add sql bindings quickpick

* cleanup

* addressing comments
2021-09-02 17:25:13 -07:00
Charles Gagnon
c8cc6c08e9 Add no-floating-promises rule to sql-database-projects extension (#16943)
* Add no-floating-promises rule to sql-database-projects extension

* fix test
2021-08-31 14:13:52 -07:00
Kim Santiago
2c75f199e8 Add sql bindings package reference to project (#16912)
* list packages and add packages working

* cleanup and remove list packages

* cleanup

* change to pull in latest package version
2021-08-27 16:58:54 -07:00
Charles Gagnon
6b1cc85c9a Get tools service install location from extensions (#16796)
* Get STS install location from extensions

* Update error
2021-08-17 13:48:22 -07:00
Leila Lali
32a71a2de6 SQL Database Project - Deploy db to docker (#16406)
Added a new command to deploy the project to docker
2021-08-12 13:24:16 -07:00
Sakshi Sharma
4250556023 Fix incorrect .NET error (#16694)
* Fix .NET Install state for error conditions

* Address comment- remove redundant constructor
2021-08-11 11:29:48 -07:00
Sakshi Sharma
e0143e0752 Update pop-up to be an error message instead of informational message (#16660)
* Update pop-up to be an error message

* Update message text

* Address comment

* Address comment
2021-08-10 15:24:09 -07:00
Sakshi Sharma
9ee941eb12 Error out for unsupported dotnet versions for sql db projects (#16428)
* Merge conflict resolution

* Throw error for unsupported versions of Dotnet

* Fix for darwin

* Fix for all platforms

* Address comments

* Fix extensionsGaller.json

* Address comments

* Update default installation path for linux

* Fix test

* Revert default installation location change for Linux

* Address comments

* Removed extra try-catch block
2021-08-06 18:41:34 -07:00
Charles Gagnon
83af84774a Sql Proj VS Code fixes (#16506)
* Sql Proj VS Code fixes

* remove comment
2021-08-01 00:24:28 -07:00
Charles Gagnon
b2c203eaef Hook up sql proj publish (#16444) 2021-07-27 09:32:42 -07:00
Benjin Dubishar
7e8dccec82 Add setting to hide netcore installation prompt (#15470)
* Add setting to hide netcore installation prompt

* Shortened strings to fit toast

* Updating data workspace string for consistency
2021-05-17 09:59:08 -07:00
Kim Santiago
99fd1fbb5e fix typo in .net core message (#15410) 2021-05-11 13:27:19 -07:00
Kim Santiago
cea55560e8 fix a couple things in create project from db dialog (#14511) 2021-03-03 10:33:52 -08:00
Sakshi Sharma
254ecc4123 Un-skip and fix a few of the db projects tests (#13726)
* Un-skip and fix a few of the db projects tests

* Addressed comments

* Fix one test failure on Linux/Mac
2020-12-10 09:50:49 -08:00
Kim Santiago
ddc8c00090 Data workspace projects changes (#13466)
* Fix project context menu actions (#12541)

* delete works again

* make fewer changes

* update all sql db project commands

* cleanup

* Remove old projects view (#12563)

* remove old projects view from file explorer view

* fix tests failing

* remove projects in open folder opening up in old view

* Update db reference dialog to show projects in the workspace (#12580)

* update database reference dialog to show projects in the workspace in the project dropdown

* remove workspace stuff from sql projects extension

* undo change

* add class that implements IExtension

* undo a change

* update DataWorkspaceExtension to take workspaceService as a parameter

* add type

* Update sql database project commands (#12595)

* remove sql proj's open and create new project from comman palette

* hook up create project from database to data workspace

* rename the remaining import databases to create project from database

* remove open, new, and close commands

* expose addProjectsToWorkspace() in IExtension instead of calling command

* Addressing comments

* fix failing sql project tests (#12651)

* update SSDT projects opened in projects viewlet (#12669)

* fix action not refreshing the tree issue (#12692)

* fix adding project references in new projects viewlet (#12688)

* Remove old projects tree provider (#12702)

* Remove old projects tree provider and fix tests

* formatting

* update refreshProjectsTree() to accept workspaceTreeItem()

* Cleanup ProjectsController (#12718)

* remove openProject from ProjectController and some cleanup

* rename

* add project and open project dialogs (#12729)

* empty dialogs

* wip

* new project dialog implementation

* revert gitattributes

* open project dialog

* implement add project

* remove icon helper

* refactor

* revert script change

* adjust views

* more updates

* make data-workspace a builtin extension

* show the view only when project provider is detected (#12819)

* only show the view when proj provider is available

* update

* fix sql project tests after merge (#12793)

* Update dialogs to be closer to mockups (#12879)

* small UI changes to dialogs

* center radio card group text

* Create workspace if needed when opening/new project (#12930)

* empty dialogs

* wip

* new project dialog implementation

* revert gitattributes

* open project dialog

* implement add project

* remove icon helper

* refactor

* revert script change

* create workspace

* initial changes

* create new workspace working

* fix tests

* cleanup

* remove showWorkspaceRequiredNotification()

* Add test for no workspace open

* update blue buttons

* move loading temp project to activate() instead of workspaceService constructor

* move workspace creation warning message to before project is created

* pass uri to createWorkspace

* add tests

Co-authored-by: Alan Ren <alanren@microsoft.com>

* Additional create workspace changes (#13004)

* Dialogs workspace updates (#13010)

* adding workspace text boxes

* match new project dialog to mockups

* Add validation error message for workspace file

* add enterWorkspace api

* add warning message for opening workspace

* cleanup

* update commands to remove project so they're more generic

* remove 'empty' from string

* Move default project location setting to data workspace extension (#13022)

* remove project location setting and notification from sql database projects extension

* add default project location setting to data workspace extension

* fix typo

* Add back project name incrementing

* other merge fixes

* fix strings from other PR

* default to last opened directory instead of home directory if no specified default location

* A few small updates (#13092)

* fix build error

* update title for inputboxes

* add missing file

* Add tests for data workspace dialogs (#13324)

* add tests for dialogs

* create helper functions

* New project dialog workspace inputbox fixes (#13407)

* workspace inputbox fixes

* fix folder icons

* Update package.jsons and readme (#13451)

* update package.jsons

* update readme

* add workspace information to open existing dialog (#13455)

Co-authored-by: Alan Ren <alanren@microsoft.com>
2020-11-18 16:13:43 -08:00
Udeesha Gautam
974e832f78 Update SqlToolsService For a DacFx Fix (#12224) 2020-09-10 14:21:56 -07:00
anjalia
f7279cb1f5 Auto increment new db project name (#11882)
* auto increment db proj name

* auto increment on import project from db

* adding separate message if workspace setting is invalid

* updating based on feedback

* adding do not ask again functionality

* moving constants

* making newprojecttool only top level functions

* adding tests

* updating to address merge conflicts

* fixing tests

* fixing tests
2020-08-26 12:14:51 -07:00