Commit Graph

67 Commits

Author SHA1 Message Date
Benjin Dubishar
1c0259f4c5 Telemetry points for SQL Database Projects extension (#14088)
* Added publish and schema compare telemetry
* Adding telemetry points for add/exclude/delete
* telemetry for validation
* Adding telemetry from project roundtrip updates, editing sqlproj, and db refs
* Changed method for obtaining extension ID during registration
* Fixing test failures, updating ads telemetry package dependency
* replacing action strings with enums
* change database project string actions to enums
* Changed action name to better match dialog
* PR feedback
2021-01-31 16:38:48 -08:00
Kim Santiago
59ad601664 Make new workspace inputbox editable in Create project from database dialog (#13842)
* update create project from database dialog to have editable new workspace

* add validation

* add test

* add error message

* Remove test for now

* cleanup

* add periods

* throw errors

* change return type to void
2020-12-18 10:24:38 -08:00
Kim Santiago
9adffbb950 Fix whitespace differences in sqlproj (#13805)
* add whiteSpaceAtEndOfSelfclosingTag

* update test baselines
2020-12-15 11:44:41 -08:00
Kim Santiago
496fe0afa5 change afterClean to beforeBuild for removing the generated assests.json (#13736)
* change afterClean to beforeBuild for removing the generated assests.json

* fix merge conflict

* rename files
2020-12-11 11:54:35 -08:00
Benjin Dubishar
fde031be48 Adding SQL Edge project template (#13558)
* Checkpoint

* removing flag for not creating subfolder

* Adding Edge template

* Removing janky map function

* Adding templates for additional objects

* Updating tests, fixing bug

* Added Edge project icon

* Updating strings to Drew-approved text

* Cleaning up template scripts and Edge project template names
2020-12-03 10:33:31 -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
Kim Santiago
ea7fe08b98 remove sqlproj from Project tree node (#13379) 2020-11-12 15:49:34 -08:00
Benjin Dubishar
aaa8831a7d Enables streaming job validation, minor bugfix (#13287)
* Enabling validation

* Fixing issue where ESJ property isn't set during creation, only from sqlproj load

* Bump dependency on azdata
2020-11-06 16:15:50 -08:00
Benjin Dubishar
342ff47e51 Adding External Streaming Job I/O validation (#13195)
* Added Tools Service call for ValidateStreamingJob

* Partial addition of ESJ

* adding test mocks

* Validation working

* Modifying command visibility logic to submatch ESJs in addition to files

* Changed string literal to constant, corrected attribute order

* Added tests

* correcting casing that's causing test failures on linux

* Swapping Thenable for Promise

* excluded validate from command palette
2020-11-02 19:02:20 -08:00
Kim Santiago
dccccd0110 fix intermittent sql database project test failure (#13114) 2020-10-28 13:15:07 -07:00
Kim Santiago
7222c698aa Fix changing database sqlcmdvar value (#13049)
* fix db sqlcmdvar not updating in sqlproj

* Add tests
2020-10-26 11:17:42 -07:00
Kim Santiago
bd56c49538 fix duplicate db references being allowed (#12795) 2020-10-08 09:55:51 -07:00
Kim Santiago
253f7774de Fix can't find SQLCMD variable error (#12672)
* remove sqlcmd variable deletion verification

* check if sqlcmd variable exists first
2020-10-01 15:26:27 -07:00
Kim Santiago
5718e6b471 Change target platform of project (#12639)
* Add quick pick to select target platform for a project

* add test

* show current target platform and info message for new target platform

* fix test failing
2020-09-28 13:28:34 -07:00
Kim Santiago
49de1f80cf Delete database reference (#12531)
* remove ItemGroup if node being removed is the only one

* fix for if ItemGroup has elements with different tag names

* fix for ItemGroups not at the end of the sqlproj

* add delete for db references

* fix failing tests

* add test

* cleanup

* Addressing comments and fixing a string
2020-09-24 17:27:13 -07:00
Kim Santiago
2162e2f50c Remove ItemGroup from sqlproj if node being removed is the last one (#12398)
* remove ItemGroup if node being removed is the only one

* fix for if ItemGroup has elements with different tag names

* fix for ItemGroups not at the end of the sqlproj
2020-09-18 09:35:00 -07:00
Kim Santiago
a567ff6de4 Have default values in add database dialog input boxes (#12155)
* show default values in text boxes

* add sqlcmd formatting

* add tests

* Add some sqlcmd variable name validation

* Addressing comments

* fixes after merge

* fix test

* don't localize OtherServer

* fix for windows

* one more fix

* fix test
2020-09-11 14:05:39 -07:00
Kim Santiago
133ff73a43 Add reference to another sql project (#12186)
* add projects to add database reference dialog

* able to add project references

* check for circular dependency

* only allow adding reference to project in the same workspace

* fix location dropdown when project reference is enabled

* add tests

* more tests

* cleanup

* fix flakey test

* addressing comments
2020-09-10 17:44:39 -07:00
Kim Santiago
dad31bc387 get delete and exclude to work for pre and post deploy scripts (#12191) 2020-09-09 16:46:09 -07:00
Kim Santiago
78ff0c7d93 More add database reference dialog UI (#12066)
* add suppress missing dependencies checkbox

* add example usage

* set font-styles

* Fix typo

* allow example usage to be selectable

* don't localize example usage

* move example usage strings to a new section
2020-09-03 13:22:26 -07:00
Kim Santiago
f29127d515 Add db and server sqlcmd variables for database references (#12089)
* add support for adding db and server sqlcmd variables

* fix incrementing

* split up test
2020-09-03 10:27:02 -07:00
anjalia
d97993e518 Allow edit of sqlproj in place and reload (#11980)
* edit sql proj file

* bug fix

* updating reload project method

* adding test for reload

* formatting
2020-09-03 10:08:12 -07:00
Kim Santiago
f174dc1c77 Support for adding new SQLCMD variables to a project (#12009) 2020-09-02 11:22:36 -07:00
Kim Santiago
177d9bef39 Hook up add database references dialog (#12002)
* initial dialog

* got enabling working

* add tests

* cleanup

* add test coverage for systemDbRadioButtonClick()

* change DAC to .dacpac

* remove isEmptyOrUndefined

* hook up add database reference dialog

* cleanup

* Addressing comments
2020-09-01 11:06:04 -07:00
Udeesha Gautam
3c6796938d minor cleanups to hide extra tree items and command that are not required (#12038) 2020-09-01 09:38:21 -07:00
Kim Santiago
1984c4ca97 Update publish dialog UI (#11996)
* change svgs

* change label to server and get rid of connection string

* fix user for windows auth

* move blue icons out of dark and light folders
2020-08-31 10:25:58 -07:00
Kim Santiago
70399be699 Initial add database reference dialog UI (#11944)
* initial dialog

* got enabling working

* add tests

* cleanup

* add test coverage for systemDbRadioButtonClick()

* change DAC to .dacpac

* remove isEmptyOrUndefined
2020-08-27 17:22:40 -07:00
Sakshi Sharma
75812c71df Add folder icon to project (#11904)
* Add folder icon to project

* Fix conflicts arising due to merge
2020-08-27 10:50:17 -07:00
Sakshi Sharma
21c8609eb7 Changes to add pre/post deploy script to sqlproj (#11864)
* Initial changes for adding pre/post deploy script in project

* Right click > Add pre/post deploy script

* Print script files in tree

* Add new pre-post deploy items with their own tags and additional ones with None

* Add tests

* Fix error due to merge conflicts

* Addressed comments and fixed tests.

* Fix code scan error

* Addressed comments
2020-08-27 10:50:02 -07:00
Sakshi Sharma
e90341b3d2 Initial Pre-post deployment changes (#11703)
* Update Open Project to display pre-post deployment scripts in the project tree

* Address comments

* Fixed tests

* Update nonDeployScripts to noneDeployScripts and throw a warning message instead of informational message for prePostDeployCount
2020-08-19 01:06:29 -07:00
Kim Santiago
17856855f6 Make sql project publish SQLCMD table editable (#11812)
* make table editable

* add button to load values from sqlproj

* use form component group

* match mockups

* move UI constants to a separate file

* fix error
2020-08-18 12:04:12 -07:00
Kim Santiago
3b2e53d270 Add support for AAD interactive connection strings for project data sources (#11761)
* add support for AAD interactive for project data sources

* fix whitespace

* remove warning message

* choose azureMFA if a connection string has both integrated security=true and authentication=active directory interactive
2020-08-14 16:13:22 -07:00
anjalia
1ee4af52b4 Expand/collapse all node options (#11728)
* Implementing expand and collapse nodes

* adding constants for error messages

* Removing expand all database projects functionality

* Reformatting imports
2020-08-13 18:31:03 -07:00
Kim Santiago
f3a48da3fa Initial project references changes (#11648)
* first changes for showing project references

* add tests

* fix interface and formatting

* add try so that project still gets loaded even if dependency project loading fails

* use instanceof

* add circular reference error
2020-08-13 16:08:32 -07:00
Udeesha Gautam
fbbb9ce529 load publish profile sqlcmd "value" tag and throw error if not loaded correctly (#11615)
* load publish profile sqlcmd "value" tag and throw error if not loaded correctly

* moved the read profile function to utils
2020-08-03 14:16:00 -07:00
Kim Santiago
c06bd0821b Add deploy options support (#11567)
* add getOptionsFromProfile request

* update deploy and generate script to accept options

* fix tests

* update message

* update message to say what isn't supported

* bump sqltoolsservice version
2020-07-29 17:52:21 -07:00
Benjin Dubishar
2b132f6b58 Adding icons to Database Projects' tree view (#11488)
* Add images

* Splitting to light and dark mode icons

* Hooks up icons to treeItems

* updating package.json with new icon and vbump

* move icon loader before tree view created
2020-07-23 11:52:54 -07:00
Udeesha Gautam
196b3752a9 Feature/outer paths for project (#11445)
* allow relative paths in project file outside of project folder

* Adding some tests

* Adding error string to loc strings

* Fixed test

* fix error message

* PR comments and some more fixes
2020-07-22 19:28:03 -07:00
Kim Santiago
0a1c2583cc Load connection from publish profile (#11263)
* initial changes for reading connection from profile

* connection string can now be read from publish.xml

* fix build errors and update test

* move publish profile tests to their own file

* cleanup

* update message

* fix string

* remove apiWrapper
2020-07-15 17:03:25 -07:00
Benjin Dubishar
dc7e6f59bd Aligns how Import and New project flows work (#11184)
* Slight import refactor

* Test updates

* Adds test, sets script name for File extractType to projectName

* generating correct folder list

* Correctly setting serverId for Imports started from Object Explorer

* Adding regression test

* uncommented test check
2020-07-14 19:31:22 -07:00
Kim Santiago
b238819c89 Standardize slashes in sqlproj (#11174)
* standardize slashes that go in sqlproj

* update tests to not have os specific baselines

* fix test

* fix delete tests

* some cleanup
2020-07-06 13:17:55 -07:00
Kim Santiago
1e805a4156 Change deploy to publish in sql project codebase (#11144)
* change deploy to publish

* rename to IPublishSettings

* change a few more profiles to settings
2020-06-30 19:23:03 -07:00
Kim Santiago
41315c6e0a Show error when trying to add file/folder that already exists to project (#11122)
* show error when trying to create file or folder that already exists

* add test for file that already exists

* add folder tests

* fix error messages

* hide Properties folder

* update comment
2020-06-30 13:42:50 -07:00
Benjin Dubishar
00836e1890 Benjin/delete (#11054)
* Adding delete to package.json

* checkpoint

* Delete file working

* Working for nested folders

* Added file/folder deletion test

* addressing feedback

* Swapping QuickPick for modal

* Adding Exclude functionality

* reverting change to package.json
2020-06-24 10:27:58 -07:00
Kim Santiago
74798f7cda Don't allow adding duplicate database references to sql project (#11010)
* don't allow adding duplicate database references

* add test

* addressing comments

* remove XML checking from databaseReferenceExists()

* change to get
2020-06-23 12:24:49 -07:00
Udeesha Gautam
cfbce96fe2 fix for windows path to show in project tree across platforms correctly (#11027)
* fix for windows path to show in project tree across platforms correctly

* allow retrying on project that failed to load

* test for project failed to load case

* Adding platform safe uri for database ref in tree
2020-06-22 22:37:24 -07:00
Kim Santiago
6ad33aa879 Load profile support for sql project deploy (#10948)
* load database name from profile.xml

* load sqlcmd variables from profile

* Add warning text

* add tests

* fix file filter for windows

* add comments

* show SQLCMD variables in a table

* reset dialog before testing readPublishProfile callback
2020-06-18 17:44:28 -07:00
Kim Santiago
4c82cf0ebb Make database references also work in SSDT (#10864)
* add system database reference for VS

* a few fixes

* update tests

* update tests

* fix tests after merge

* addressing comment to make logic a little more clear

* fix replacing SSDT reference name in tree
2020-06-15 14:58:59 -07:00
Kim Santiago
514b7f7743 Add missing await (#10919) 2020-06-15 10:26:28 -07:00
Benjin Dubishar
ddb210e971 Final ADS-side hookup for sqlcmd vars (#10815)
* Adding reading SqlCmdVars from project file

* organized apiWrapper, added calls

* Adding test to confirm deployment/script gen profiles with sqlcmd vars
2020-06-12 19:49:28 -07:00