Apply changes from remote database to sqlproj - sql-database-projects changes (#17738)

* update project from database

* update project from database

* Leftover merge update

* Slight refactor to add vscode entrypoints

* Re-adding leftover schemacompare bits that reference database project changes

* Removing unnecessary function

* Addiung GetDSP command to package.json

* tests and a race condition fix

* remove custom UUID generation code

* swapping awaits for voids on promises

* PR feedback

* PR feedback

* Hide update project command from vscode

* Swapping cross-extension commands for bound extension contract

* Re-adding schema compare radio buttons for sqlproj

* Adding refresh after project update

* Populating list of project scripts just before comparison to avoid missing script errors of project was separately edited

* Adding missing await for okay button enable check

* Correcting schema compare source when populated from a project

* Rename UpdateDataModel to be more clear

* Fix incorrectly changed type

* Added new runComparison schema compare command, hooked up to sqlproj extension

* Added progress indicator for "apply now" option

* moved string literal to constant

* Added missing await

* Setting missing "saveScmpButton" state to fix test

* Revert "Setting missing "saveScmpButton" state to fix test"

This reverts commit 55612c9def24ac9e3398f5bbd153d21d9d3ca37f.

* Removing preemptive resetWindow() call

* general cleanup

* PR feedback

* property renames

* Reverting rename; requires Tools Service change first

* Adding header to updateProject

* Adding missing header

* PR feedback

* adding missing await

* Handing race condition for UI enable

* Fixing broken okay enable case

* Fixing enum comparison wonk

Co-authored-by: Noureldine Yehia <t-nyehia@microsoft.com>
This commit is contained in:
Benjin Dubishar
2022-01-11 16:52:09 -08:00
committed by GitHub
parent 4fa2b50077
commit 292e60a767
20 changed files with 1103 additions and 53 deletions

View File

@@ -16,6 +16,8 @@
"onCommand:sqlDatabaseProjects.new",
"onCommand:sqlDatabaseProjects.open",
"onCommand:sqlDatabaseProjects.createProjectFromDatabase",
"onCommand:sqlDatabaseProjects.updateProjectFromDatabase",
"onCommand:sqlDatabaseProjects.addSqlBinding",
"onCommand:sqlDatabaseProjects.generateProjectFromOpenApiSpec",
"onCommand:sqlDatabaseProjects.addSqlBinding",
"workspaceContains:**/*.sqlproj",
@@ -145,6 +147,12 @@
"category": "%sqlDatabaseProjects.displayName%",
"icon": "images/databaseProjectToolbar.svg"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"title": "%sqlDatabaseProjects.updateProjectFromDatabase%",
"category": "%sqlDatabaseProjects.displayName%",
"icon": "images/databaseProjectToolbar.svg"
},
{
"command": "sqlDatabaseProjects.addDatabaseReference",
"title": "%sqlDatabaseProjects.addDatabaseReference%",
@@ -188,6 +196,11 @@
"when": "view == dataworkspace.views.main",
"group": "1_currentWorkspace@1"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"when": "view == dataworkspace.views.main",
"group": "1_currentWorkspace@2"
},
{
"command": "sqlDatabaseProjects.generateProjectFromOpenApiSpec",
"when": "view == dataworkspace.views.main",
@@ -254,6 +267,10 @@
{
"command": "sqlDatabaseProjects.createProjectFromDatabase"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"when": "false"
},
{
"command": "sqlDatabaseProjects.addDatabaseReference",
"when": "false"
@@ -299,6 +316,11 @@
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project && azdataAvailable",
"group": "1_dbProjectsFirst@3"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project && azdataAvailable",
"group": "1_dbProjectsFirst@4"
},
{
"command": "sqlDatabaseProjects.newItem",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
@@ -389,20 +411,34 @@
{
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11",
"group": "export"
"group": "export@1"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11",
"group": "export@2"
}
],
"dataExplorer/context": [
{
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11",
"group": "export"
"group": "export@1"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11",
"group": "export@2"
}
],
"dashboard/toolbar": [
{
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "connectionProvider == 'MSSQL' && mssql:engineedition != 11"
},
{
"command": "sqlDatabaseProjects.updateProjectFromDatabase",
"when": "connectionProvider == 'MSSQL' && mssql:engineedition != 11"
}
]
}