mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-14 18:46:34 -05:00
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
This commit is contained in:
@@ -297,6 +297,7 @@ export const browseButtonText = localize('browseButtonText', "Browse folder");
|
||||
export const selectFolderStructure = localize('selectFolderStructure', "Select folder structure");
|
||||
export const folderStructureLabel = localize('folderStructureLabel', "Folder structure");
|
||||
export const includePermissionsLabel = localize('includePermissionsLabel', "Include permissions");
|
||||
export const includePermissionsInProject = localize('includePermissionsInProject', "Include permissions in project");
|
||||
export const WorkspaceFileExtension = '.code-workspace';
|
||||
export const browseEllipsisWithIcon = `$(folder) ${localize('browseEllipsis', "Browse...")}`;
|
||||
export const selectProjectLocation = localize('selectProjectLocation', "Select project location");
|
||||
|
||||
@@ -1510,7 +1510,7 @@ export class ProjectsController {
|
||||
if (azdataApi) {
|
||||
await (service as mssql.IDacFxService).createProjectFromDatabase(model.database, model.filePath, model.projName, model.version, model.connectionUri, model.extractTarget as mssql.ExtractTarget, azdataApi.TaskExecutionMode.execute, model.includePermissions);
|
||||
} else {
|
||||
await (service as mssqlVscode.IDacFxService).createProjectFromDatabase(model.database, model.filePath, model.projName, model.version, model.connectionUri, model.extractTarget as mssqlVscode.ExtractTarget, TaskExecutionMode.execute as unknown as mssqlVscode.TaskExecutionMode);
|
||||
await (service as mssqlVscode.IDacFxService).createProjectFromDatabase(model.database, model.filePath, model.projName, model.version, model.connectionUri, model.extractTarget as mssqlVscode.ExtractTarget, TaskExecutionMode.execute as unknown as mssqlVscode.TaskExecutionMode, model.includePermissions);
|
||||
}
|
||||
// TODO: Check for success; throw error
|
||||
}
|
||||
|
||||
@@ -133,7 +133,20 @@ export async function createNewProjectFromDatabaseWithQuickpick(connectionInfo?:
|
||||
return undefined;
|
||||
}
|
||||
|
||||
// 5. SDK-style project or not
|
||||
// 6. Include permissions or not
|
||||
const includePermissionsResult = await vscode.window.showQuickPick(
|
||||
[constants.noStringDefault, constants.yesString],
|
||||
{ title: constants.includePermissionsInProject, ignoreFocusOut: true }
|
||||
);
|
||||
|
||||
if (!includePermissionsResult) {
|
||||
// User cancelled
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const includePermissions = includePermissionsResult === constants.yesString;
|
||||
|
||||
// 7. SDK-style project or not
|
||||
let sdkStyle;
|
||||
const sdkLearnMoreButton: vscode.QuickInputButton = {
|
||||
iconPath: new vscode.ThemeIcon('link-external'),
|
||||
@@ -182,6 +195,7 @@ export async function createNewProjectFromDatabaseWithQuickpick(connectionInfo?:
|
||||
filePath: projectLocation,
|
||||
version: '1.0.0.0',
|
||||
extractTarget: mapExtractTargetEnum(folderStructure),
|
||||
sdkStyle: sdkStyle
|
||||
sdkStyle: sdkStyle,
|
||||
includePermissions: includePermissions
|
||||
};
|
||||
}
|
||||
|
||||
2
extensions/types/vscode-mssql.d.ts
vendored
2
extensions/types/vscode-mssql.d.ts
vendored
@@ -415,7 +415,7 @@ declare module 'vscode-mssql' {
|
||||
exportBacpac(databaseName: string, packageFilePath: string, ownerUri: string, taskExecutionMode: TaskExecutionMode): Thenable<DacFxResult>;
|
||||
importBacpac(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: TaskExecutionMode): Thenable<DacFxResult>;
|
||||
extractDacpac(databaseName: string, packageFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, taskExecutionMode: TaskExecutionMode): Thenable<DacFxResult>;
|
||||
createProjectFromDatabase(databaseName: string, targetFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, extractTarget: ExtractTarget, taskExecutionMode: TaskExecutionMode): Thenable<DacFxResult>;
|
||||
createProjectFromDatabase(databaseName: string, targetFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, extractTarget: ExtractTarget, taskExecutionMode: TaskExecutionMode, includePermissions?: boolean): Thenable<DacFxResult>;
|
||||
deployDacpac(packageFilePath: string, databaseName: string, upgradeExisting: boolean, ownerUri: string, taskExecutionMode: TaskExecutionMode, sqlCommandVariableValues?: Record<string, string>, deploymentOptions?: DeploymentOptions): Thenable<DacFxResult>;
|
||||
generateDeployScript(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: TaskExecutionMode, sqlCommandVariableValues?: Record<string, string>, deploymentOptions?: DeploymentOptions): Thenable<DacFxResult>;
|
||||
generateDeployPlan(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: TaskExecutionMode): Thenable<GenerateDeployPlanResult>;
|
||||
|
||||
Reference in New Issue
Block a user