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
This commit is contained in:
Sakshi Sharma
2023-04-13 17:08:24 -07:00
committed by GitHub
parent 3deb163210
commit 91ea2b43d6
11 changed files with 148 additions and 37 deletions

View File

@@ -441,6 +441,7 @@ export class Project implements ISqlProject {
this._noneDeployScripts = [];
this._outputPath = '';
this._configuration = Configuration.Debug;
this._publishProfiles = [];
}
public async updateProjectForCrossPlatform(): Promise<void> {

View File

@@ -125,3 +125,11 @@ async function readConnectionString(xmlDoc: any): Promise<{ connectionId: string
server: server
};
}
/**
* saves publish settings to the specified profile file
*/
export async function savePublishProfile(profilePath: string, databaseName: string, connectionString: string, sqlCommandVariableValues?: Record<string, string>, deploymentOptions?: mssql.DeploymentOptions): Promise<void> {
const dacFxService = await utils.getDacFxService();
await dacFxService.savePublishProfile(profilePath, databaseName, connectionString, sqlCommandVariableValues, deploymentOptions);
}