// // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. // // THIS FILE IS GENERATED BY A CODEGEN TOOL. DO NOT EDIT!!!! // IF YOU NEED TO MAKE CHANGES, EDIT THE .TT FILE!!! // To regenerate either (1) save the .TT file from Visual Studio or (2) run the build script codegen task. using System; using System.IO; using System.Collections.Generic; using System.Collections.Specialized; using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.SqlParser.Intellisense; using Microsoft.SqlTools.Utility; namespace Microsoft.SqlTools.ServiceLayer.Scripting { internal partial class Scripter { private void Initialize() { AddSupportedType(DeclarationType.Table, GetTableScripts, "Table", "table"); AddSupportedType(DeclarationType.View, GetViewScripts, "View", "view"); AddSupportedType(DeclarationType.StoredProcedure, GetStoredProcedureScripts, "Procedure", "stored procedure"); AddSupportedType(DeclarationType.Schema, GetSchemaScripts, "Schema", "schema"); AddSupportedType(DeclarationType.Database, GetDatabaseScripts, "Database", "database"); AddSupportedType(DeclarationType.UserDefinedDataType, GetUserDefinedDataTypeScripts, "Type", "user-defined data type"); AddSupportedType(DeclarationType.UserDefinedTableType, GetUserDefinedTableTypeScripts, "Type", "user-defined table type"); AddSupportedType(DeclarationType.Synonym, GetSynonymScripts, "Synonym", ""); AddSupportedType(DeclarationType.ScalarValuedFunction, GetScalarValuedFunctionScripts, "Function", "scalar-valued function"); AddSupportedType(DeclarationType.TableValuedFunction, GetTableValuedFunctionScripts, "Function", "table-valued function"); } /// /// Script a Table using SMO /// /// Table name /// Schema name /// String collection of scripts internal StringCollection GetTableScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { Table smoObject = string.IsNullOrEmpty(schemaName) ? new Table(this.Database, objectName) : new Table(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetTableScripts : " + ex.Message); return null; } } /// /// Script a View using SMO /// /// View name /// Schema name /// String collection of scripts internal StringCollection GetViewScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { View smoObject = string.IsNullOrEmpty(schemaName) ? new View(this.Database, objectName) : new View(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetViewScripts : " + ex.Message); return null; } } /// /// Script a StoredProcedure using SMO /// /// StoredProcedure name /// Schema name /// String collection of scripts internal StringCollection GetStoredProcedureScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { StoredProcedure smoObject = string.IsNullOrEmpty(schemaName) ? new StoredProcedure(this.Database, objectName) : new StoredProcedure(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetStoredProcedureScripts : " + ex.Message); return null; } } /// /// Script a Schema using SMO /// /// Schema name /// Schema name /// String collection of scripts internal StringCollection GetSchemaScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { Schema smoObject = new Schema(this.Database, objectName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetSchemaScripts : " + ex.Message); return null; } } /// /// Script a Database using SMO /// /// Database name /// Schema name /// String collection of scripts internal StringCollection GetDatabaseScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { Database smoObject = new Database(new Server(this.serverConnection), objectName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetDatabaseScripts : " + ex.Message); return null; } } /// /// Script a UserDefinedDataType using SMO /// /// UserDefinedDataType name /// Schema name /// String collection of scripts internal StringCollection GetUserDefinedDataTypeScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { UserDefinedDataType smoObject = string.IsNullOrEmpty(schemaName) ? new UserDefinedDataType(this.Database, objectName) : new UserDefinedDataType(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetUserDefinedDataTypeScripts : " + ex.Message); return null; } } /// /// Script a UserDefinedTableType using SMO /// /// UserDefinedTableType name /// Schema name /// String collection of scripts internal StringCollection GetUserDefinedTableTypeScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { UserDefinedTableType smoObject = string.IsNullOrEmpty(schemaName) ? new UserDefinedTableType(this.Database, objectName) : new UserDefinedTableType(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetUserDefinedTableTypeScripts : " + ex.Message); return null; } } /// /// Script a Synonym using SMO /// /// Synonym name /// Schema name /// String collection of scripts internal StringCollection GetSynonymScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { Synonym smoObject = string.IsNullOrEmpty(schemaName) ? new Synonym(this.Database, objectName) : new Synonym(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetSynonymScripts : " + ex.Message); return null; } } /// /// Script a ScalarValuedFunction using SMO /// /// ScalarValuedFunction name /// Schema name /// String collection of scripts internal StringCollection GetScalarValuedFunctionScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { UserDefinedFunction smoObject = string.IsNullOrEmpty(schemaName) ? new UserDefinedFunction(this.Database, objectName) : new UserDefinedFunction(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetScalarValuedFunctionScripts : " + ex.Message); return null; } } /// /// Script a TableValuedFunction using SMO /// /// TableValuedFunction name /// Schema name /// String collection of scripts internal StringCollection GetTableValuedFunctionScripts(string objectName, string schemaName, ScriptingOptions scriptingOptions = null) { try { UserDefinedFunction smoObject = string.IsNullOrEmpty(schemaName) ? new UserDefinedFunction(this.Database, objectName) : new UserDefinedFunction(this.Database, objectName, schemaName); smoObject.Refresh(); return (scriptingOptions == null) ? smoObject.Script() : smoObject.Script(scriptingOptions); } catch (Exception ex) { Logger.Write(LogLevel.Error,"Exception at PeekDefinition GetTableValuedFunctionScripts : " + ex.Message); return null; } } } }