public createScriptingParams()

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;
	}