Commit Graph

196 Commits

Author SHA1 Message Date
Benjin Dubishar
676f419ddd Adding option to open referenced project from SQL Project reference item (#23178)
* Adding hook to open a referenced SQL project

* cleanup

* adding docstring
2023-05-22 17:51:23 -07:00
Sakshi Sharma
244d56eb12 Add option to save Publish profile in VScode (#23067)
* Publish profile save changes for VSCode

* Fix publish settings

* Fix publish settings

* Address comments

* Address comments

* Address comments

* Address comment
2023-05-16 10:47:58 -07:00
Sakshi Sharma
b260edcec3 Add ability to create publish profile from project context (#23110)
* Ability to add publish profile from project context

* Add/update test + fix Build vs None addition to sqlproj file
2023-05-15 16:14:07 -07:00
Benjin Dubishar
1620b3b374 Fixing deleteDatabaseReference test for vscode-mssql (#23008) 2023-05-07 13:08:04 -07:00
Benjin Dubishar
6b1dd0e468 Changing "files" to "sqlObjectScripts" to be more accurate (#22899)
* Changing "files" to "sqlObjectScripts" to be more accurate

* fixing func call
2023-05-01 08:31:13 -07:00
Benjin Dubishar
29ff6ca16c Adding Move, Exclude, and Rename support for folders (#22867)
* 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
2023-04-28 16:05:38 -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
Benjin Dubishar
62255fe4dd no longer filtering to well-known database sources (#22864) 2023-04-26 13:31:15 -07:00
Kim Santiago
39a28c5f51 Add nupkg option to add database reference dialog (#22772)
* add nupkg option to add database reference dialog

* Add required indicator

* only show nupkg radio button for SDK-style projects

* fix enable ok button

* hookup

* fix typo
2023-04-19 10:09:15 -07:00
Benjin Dubishar
02e61d1598 Swapping Record usage to Map in SQL Projects (#22758)
* Changing SqlCmdVars from Record to Map

* Converting the rest

* Updating tests

* more cleanup

* Updating test to use new test creation API
2023-04-17 12:56:39 -07:00
Sakshi Sharma
d69e5b97df Update SC dialog to save/read file structure to/from schema compare file (#22727)
* Read/Send ExtractTarget information from/to STS

* Remove comment

* Cleanup comment and update azdata dependency
2023-04-14 11:47:59 -07:00
Sakshi Sharma
91ea2b43d6 Save publish profile in Publish UI workflow (#22700)
* 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
2023-04-13 17:08:24 -07:00
Benjin Dubishar
cec349d2a4 Fix issue where errors during project update were swallowed (#22612)
* adding errors

* Fixing bug where errors occurring during updating project got swallowed

* removing unnecessary "vscode"
2023-04-04 13:19:07 -07:00
Benjin Dubishar
15ecdc8653 Fixing smattering of issues regarding updating projects for cross-plat (#22575)
* Fixing smattering of issues regarding updating projects for cross-plat

* Adding both options for modal

* Removing quickpick
2023-04-03 10:10:31 -07:00
Sakshi Sharma
9d8006562d Fix project name validation (#22547)
* Fix project name validation

* Add/update tests

* Address comments

* Fix error
2023-03-31 08:46:58 -07:00
Kim Santiago
0feabc9a6f use fsPath instead of path when calculating relative path to sqlproj (#22534) 2023-03-30 10:01:06 -07:00
Kim Santiago
4458a5bd57 move publish interfaces out of sqldbproj.d.ts (#22521) 2023-03-29 16:27:23 -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
5fef212ea3 add vscode mssql handling for getSqlProjectsService() (#22121)
* add vscode mssql handling for getSqlProjectsService()

* try to fix error because of projectStyle enum
2023-03-03 16:52:05 -08:00
Kim Santiago
d6358b3e29 Add telemetry events for rename and move in sql project (#22068)
* add telemetry events for rename and move in sql project

* remove check

* update telemetry events
2023-03-01 10:25:09 -08:00
Charles Gagnon
4a5ac92e46 Update ads-extension-telemetry to 1.4.0 (#22069)
* Update ads-extension-telemetry

* One more
2023-02-28 22:25:07 -08:00
Kim Santiago
bc85f52dd4 Update sql project file move to use DacFx api (#22064)
* update move to use STS api

* swap rename to use move function

* add try catch

* remove debug statement

* get original path from node
2023-02-28 14:31:49 -08:00
Kim Santiago
0413b95343 Swap rename to use DacFx move api (#22051)
* swap rename to use DacFx project apis

* add support for rename pre/post deploy scripts and add tests

* update the enum names too

* check instanceof instead of getting and iterating through all the collections
2023-02-28 11:59:09 -08:00
Kim Santiago
e675fc14f0 Revert 'Add profile section in Publish project UI (#21906)' (#22047)
This reverts commit cb58286247.
2023-02-27 15:09:50 -08:00
Sakshi Sharma
41e2767880 Add publish profile to sql proj and tree (#22008)
* Read publish profiles stored in sqlproj file and present it in the projects tree

* Save publish profile and add it to sqlproj file, and present it in the tree

* Fix context menu operations

* Add tests

* Address comments
2023-02-23 22:32:12 -08:00
Kim Santiago
d75cf2b657 Hookup sqlcmdvar delete (#22018)
* delete sqlcmd variable working

* undo add

* add test
2023-02-23 16:44:08 -08:00
Benjin Dubishar
0354775107 Fleshing out the SqlProjects service bindings (#21984)
* 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
2023-02-22 22:58:30 -08:00
Kim Santiago
a7f68ebd33 Drag and drop support for sql projects tree (#21956)
* Drag and drop working

* update comment

* move to projectController

* remove registerTreeDataProvider

* add tests

* fix dragging to project root

* cleanup

* addressing comments
2023-02-21 15:45:25 -08:00
Kim Santiago
7761c3b171 Swap create new project api for sql projects (#21971) 2023-02-21 10:00:56 -08:00
Kim Santiago
fe25674401 change sqlprojUri to projectFileUri (#21938) 2023-02-14 13:56:02 -08:00
Kim Santiago
71c12883fe Remove references to root in sql projects (#21911)
* update getFileProjectEntry and getRelativePath

* remove root and fix tests
2023-02-14 10:34:46 -08:00
Sakshi Sharma
cb58286247 Add profile section in Publish project UI (#21906)
* 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
2023-02-13 14:06:42 -08:00
Kim Santiago
0e269e0438 Cleanup sql projects tree (#21883)
* remove MessageTreeItem and rename projectUri to relativeProjectUri

* declare variables inline in constructor
2023-02-09 11:42:00 -08:00
Kim Santiago
af8316291e Rename file support in sql projects (#21858)
* add quickpick for rename file/folder in sql project

* add comment

* make rename file actually do something

* add validation
2023-02-07 16:27:44 -08:00
Sakshi Sharma
972312b3f5 Add validation for new file names for sql projects (#21601)
* Add validation for new file names for sql projects

* Addres comments and add validation for new project dialog

* Address comments

* Address comments on test

* Fix tests

* Remove extra error messages and rename file

* Address comments

* Fix tests

* Add test file back
2023-02-02 07:25:26 -08:00
Kim Santiago
cce794dd14 UI changes for add/edit/delete SQLCMD variables in sql projects (#21799)
* add edit command

* add and delete

* cleanup

* more cleanup
2023-02-01 15:06:07 -08:00
Sakshi Sharma
d86044c4e3 Add project dropdown to Update project from database dialog (#21446)
* Add dropdown populated with projects in current workspace in Update Project from database dialog for target project location

* Select first from the list if no project is preselected

* Address comments
2023-01-03 09:52:14 -08:00
Sakshi Sharma
d0861f01ed Update string to enum for folder structure (#21406)
* Update string to enum

* Remove newly added enum value
2022-12-14 08:43:17 -08:00
Kim Santiago
e928ed660f projectController.ts code cleanup (#21112)
* adding regions and doc comments in projectController.ts

* cleanup

* add param info to doc comment
2022-11-10 11:59:04 -08:00
Kim Santiago
8acda681b4 move publish to docker quickpick code to its own file (#20871) 2022-10-21 11:09:51 -07:00
Kim Santiago
5106a08ea3 Add include permissions option for create project from db in vscode (#20845)
* add quickpick for include permissions option

* update vscode-mssql.d.ts

* add const

* undo whitespace change
2022-10-17 11:18:42 -07:00
Kim Santiago
00800db506 Add include permissions option to create project from db dialog (#20823)
* 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
2022-10-13 11:01:37 -07:00
Charles Gagnon
60c1c8a89f Update ads-extension-telemetry to 1.3.1 (#20724)
* Update ads-extension-telemetry to 1.3.0

* fix
2022-10-04 23:06:53 -07:00
Sakshi Sharma
c6f3996ec7 Set target platform for db projects from server metadata: mssql vscode extension (#20607)
* Set target platform for mssql vscode extension- create project from db feature

* Addressed comments

* Address comment to add EngineEdition information in vscode-mssql.d.ts
2022-09-19 10:50:55 -07:00
Sakshi Sharma
a6920ca601 Set target platform for database project from the server metadata (#20558)
* Set target platform for database project from the server metadata

* Addressed comments
2022-09-09 09:12:12 -07: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
Kim Santiago
fda2c37531 the fix open in designer menu item is not available after script is updated with newly added create table statements (#20522)
* make open in designer available after a script is updated with a new create table statement

* uppercase
2022-08-31 15:39:53 -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
Charles Gagnon
60026a39f9 Add getDockerImageSpec and cleanDockerObjects to API (#19900)
* Add getDockerImageSpec and cleanDockerObjects to API

* docs
2022-07-01 12:57:40 -07:00
Charles Gagnon
dc006be73e Make publish to docker settings properties required (#19898)
* Make publish to docker settings properties required

* move
2022-06-30 16:21:53 -07:00