in src/scripting/scriptingService.ts [63:107]
public createScriptingParams(node: TreeNodeInfo, uri: string, operation: ScriptOperation): IScriptingParams {
const scriptingObject = this.getObjectFromNode(node);
let serverInfo = this._connectionManager.getServerInfo(node.connectionInfo);
let scriptCreateDropOption: string;
switch (operation) {
case (ScriptOperation.Select):
scriptCreateDropOption = 'ScriptSelect';
break;
case (ScriptOperation.Delete):
scriptCreateDropOption = 'ScriptDrop';
break;
case (ScriptOperation.Create):
scriptCreateDropOption = 'ScriptCreate';
default:
scriptCreateDropOption = 'ScriptCreate';
}
let scriptOptions: IScriptOptions = {
scriptCreateDrop: scriptCreateDropOption,
typeOfDataToScript: 'SchemaOnly',
scriptStatistics: 'ScriptStatsNone',
targetDatabaseEngineEdition: serverInfo && serverInfo.engineEditionId ?
this.targetDatabaseEngineEditionMap[serverInfo.engineEditionId] : 'SqlServerEnterpriseEdition',
targetDatabaseEngineType: serverInfo && serverInfo.isCloud ? 'SqlAzure' : 'SingleInstance',
scriptCompatibilityOption: serverInfo && serverInfo.serverMajorVersion ?
this.scriptCompatibilityOptionMap[serverInfo.serverMajorVersion] : 'Script140Compat'
};
let scriptingParams: IScriptingParams = {
filePath: undefined,
scriptDestination: 'ToEditor',
connectionString: undefined,
scriptingObjects: [scriptingObject],
includeObjectCriteria: undefined,
excludeObjectCriteria: undefined,
includeSchemas: undefined,
excludeSchemas: undefined,
includeTypes: undefined,
excludeTypes: undefined,
scriptOptions: scriptOptions,
connectionDetails: undefined,
ownerURI: uri,
selectScript: undefined,
operation: operation
};
return scriptingParams;
}