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
This commit is contained in:
Kim Santiago
2020-07-29 17:52:21 -07:00
committed by GitHub
parent 6751dffbc3
commit c06bd0821b
13 changed files with 249 additions and 22 deletions

View File

@@ -11,6 +11,7 @@ import * as utils from '../common/utils';
import { Project } from '../models/project';
import { SqlConnectionDataSource } from '../models/dataSources/sqlConnectionStringSource';
import { IPublishSettings, IGenerateScriptSettings } from '../models/IPublishSettings';
import { DeploymentOptions } from '../../../mssql/src/mssql';
interface DataSourceDropdownValue extends azdata.CategoryValue {
dataSource: SqlConnectionDataSource;
@@ -35,6 +36,7 @@ export class PublishDatabaseDialog {
private connectionId: string | undefined;
private connectionIsDataSource: boolean | undefined;
private profileSqlCmdVars: Record<string, string> | undefined;
private deploymentOptions: DeploymentOptions | undefined;
private toDispose: vscode.Disposable[] = [];
@@ -191,7 +193,8 @@ export class PublishDatabaseDialog {
databaseName: this.getTargetDatabaseName(),
upgradeExisting: true,
connectionUri: await this.getConnectionUri(),
sqlCmdVariables: sqlCmdVars
sqlCmdVariables: sqlCmdVars,
deploymentOptions: this.deploymentOptions
};
azdata.window.closeDialog(this.dialog);
@@ -205,7 +208,8 @@ export class PublishDatabaseDialog {
const settings: IGenerateScriptSettings = {
databaseName: this.getTargetDatabaseName(),
connectionUri: await this.getConnectionUri(),
sqlCmdVariables: sqlCmdVars
sqlCmdVariables: sqlCmdVars,
deploymentOptions: this.deploymentOptions
};
azdata.window.closeDialog(this.dialog);
@@ -399,7 +403,7 @@ export class PublishDatabaseDialog {
canSelectFiles: true,
canSelectFolders: false,
canSelectMany: false,
defaultUri: vscode.Uri.parse(this.project.projectFolderPath),
defaultUri: vscode.workspace.workspaceFolders ? (vscode.workspace.workspaceFolders as vscode.WorkspaceFolder[])[0].uri : undefined,
filters: {
[constants.publishSettingsFiles]: ['publish.xml']
}
@@ -417,6 +421,7 @@ export class PublishDatabaseDialog {
this.connectionId = result.connectionId;
(<azdata.InputBoxComponent>this.targetConnectionTextBox).value = result.connectionString;
this.deploymentOptions = result.options;
this.profileSqlCmdVars = result.sqlCmdVariables;
const data = this.convertSqlCmdVarsToTableFormat(this.getSqlCmdVariablesForPublish());