private DbServerContext GetDatabaseContext(bool loadAllFields = false) { DbServerContext context = new DbServerContext(); SqlConnection connection = new SqlConnection(m_connectionBuilder.ConnectionString); ServerConnection serverConnection = new ServerConnection(connection); context.Server = new Server(serverConnection); context.Database = context.Server.Databases[this.DatabaseName]; context.Server.SetDefaultInitFields(loadAllFields); return(context); }
protected void ScriptSynonyms(DbServerContext context, IEnumerable <ScriptObject> synonyms) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Synonym) == ObjectTypeEnum.Synonym) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameSynonyms); foreach (ScriptObject synonymObject in synonyms) { Synonym curentSynonym = context.Database.Synonyms[synonymObject.ObjectName, synonymObject.ObjectSchema]; ScriptDefinition(synonymObject, outputDirectory, new Func <StringCollection>(() => { return(curentSynonym.Script(m_options.ScriptingOptions)); })); } } }
protected void ScriptAllUserDefinedTypes(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Type) == ObjectTypeEnum.Type) { List <ScriptObject> types = new List <ScriptObject>(); foreach (UserDefinedType udt in context.Database.UserDefinedTypes) { types.Add(new ScriptObject(ObjectTypeEnum.Type, ObjectActionEnum.Create) { ObjectName = udt.Name, ObjectSchema = udt.Schema }); } foreach (UserDefinedDataType udt in context.Database.UserDefinedDataTypes) { types.Add(new ScriptObject(ObjectTypeEnum.Type, ObjectActionEnum.Create) { ObjectName = udt.Name, ObjectSchema = udt.Schema }); } foreach (UserDefinedFunction udt in context.Database.UserDefinedFunctions) { if (!udt.IsSystemObject) { types.Add(new ScriptObject(ObjectTypeEnum.Type, ObjectActionEnum.Create) { ObjectName = udt.Name, ObjectSchema = udt.Schema }); } } foreach (UserDefinedTableType udt in context.Database.UserDefinedTableTypes) { if (udt.IsUserDefined) { types.Add(new ScriptObject(ObjectTypeEnum.Type, ObjectActionEnum.Create) { ObjectName = udt.Name, ObjectSchema = udt.Schema }); } } ScriptUserDefinedTypes(context, types); } }
protected void ScriptUserDefinedTypes(DbServerContext context, IEnumerable <ScriptObject> udts) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Type) == ObjectTypeEnum.Type) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameUserDefinedTypes); foreach (ScriptObject udtObject in udts) { if (udtObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(udtObject, outputDirectory); } else { if (context.Database.UserDefinedTypes.Contains(udtObject.ObjectName, udtObject.ObjectSchema)) { var currentType = context.Database.UserDefinedTypes[udtObject.ObjectName, udtObject.ObjectSchema]; ScriptDefinition(udtObject, outputDirectory, new Func <StringCollection>(() => { return(currentType.Script(m_options.ScriptingOptions)); })); } else if (context.Database.UserDefinedDataTypes.Contains(udtObject.ObjectName, udtObject.ObjectSchema)) { var currentType = context.Database.UserDefinedDataTypes[udtObject.ObjectName, udtObject.ObjectSchema]; ScriptDefinition(udtObject, outputDirectory, new Func <StringCollection>(() => { return(currentType.Script(m_options.ScriptingOptions)); })); } else if (context.Database.UserDefinedFunctions.Contains(udtObject.ObjectName, udtObject.ObjectSchema)) { var currentType = context.Database.UserDefinedFunctions[udtObject.ObjectName, udtObject.ObjectSchema]; ScriptDefinition(udtObject, outputDirectory, new Func <StringCollection>(() => { return(currentType.Script(m_options.ScriptingOptions)); })); } else { var currentType = context.Database.UserDefinedTableTypes[udtObject.ObjectName, udtObject.ObjectSchema]; ScriptDefinition(udtObject, outputDirectory, new Func <StringCollection>(() => { return(currentType.Script(m_options.ScriptingOptions)); })); } } } } }
protected void ScriptAllSynonyms(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Synonym) == ObjectTypeEnum.Synonym) { List <ScriptObject> synonyms = new List <ScriptObject>(); foreach (Synonym synonym in context.Database.Synonyms) { synonyms.Add(new ScriptObject(ObjectTypeEnum.Synonym, ObjectActionEnum.Create) { ObjectName = synonym.Name, ObjectSchema = synonym.Schema }); } ScriptSynonyms(context, synonyms); } }
protected void ScriptAllViews(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.View) == ObjectTypeEnum.View) { List <ScriptObject> views = new List <ScriptObject>(); foreach (View view in context.Database.Views) { if (!view.IsSystemObject) { views.Add(new ScriptObject(ObjectTypeEnum.View, ObjectActionEnum.Create) { ObjectName = view.Name, ObjectSchema = view.Schema }); } } ScriptViews(context, views); } }
protected void ScriptAllStoredProcedures(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Procedure) == ObjectTypeEnum.Procedure) { List <ScriptObject> sprocs = new List <ScriptObject>(); foreach (StoredProcedure sproc in context.Database.StoredProcedures) { if (!sproc.IsSystemObject) { sprocs.Add(new ScriptObject(ObjectTypeEnum.Procedure, ObjectActionEnum.Create) { ObjectName = sproc.Name, ObjectSchema = sproc.Schema }); } } ScriptStoredProcedures(context, sprocs); } }
protected void ScriptAllFunctions(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Function) == ObjectTypeEnum.Function) { List <ScriptObject> tables = new List <ScriptObject>(); foreach (UserDefinedFunction udf in context.Database.UserDefinedFunctions) { if (!udf.IsSystemObject) { tables.Add(new ScriptObject(ObjectTypeEnum.Function, ObjectActionEnum.Create) { ObjectName = udf.Name, ObjectSchema = udf.Schema }); } } ScriptFunctions(context, tables); } }
protected void ScriptAllTables(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Table) == ObjectTypeEnum.Table) { List <ScriptObject> tables = new List <ScriptObject>(); foreach (Table table in context.Database.Tables) { if (!table.IsSystemObject) { tables.Add(new ScriptObject(ObjectTypeEnum.Table, ObjectActionEnum.Create) { ObjectName = table.Name, ObjectSchema = table.Schema }); } } ScriptTables(context, tables); } }
protected void ScriptAllUserStoredProceduresModifiedSince(DbServerContext context, DateTime modifiedSince) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Procedure) == ObjectTypeEnum.Procedure) { var sprocs = new List <ScriptObject>(); foreach (StoredProcedure sproc in context.Database.StoredProcedures) { if (!sproc.IsSystemObject && sproc.DateLastModified > modifiedSince) { sprocs.Add( new ScriptObject(ObjectTypeEnum.Procedure, ObjectActionEnum.Create) { ObjectName = sproc.Name, ObjectSchema = sproc.Schema }); } } ScriptStoredProcedures(context, sprocs); } }
protected void ScriptAllUserTablesModifiedSince(DbServerContext context, DateTime modifiedSince) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Table) == ObjectTypeEnum.Table) { var tables = new List <ScriptObject>(); foreach (Table table in context.Database.Tables) { if (!table.IsSystemObject && table.DateLastModified > modifiedSince) { tables.Add( new ScriptObject(ObjectTypeEnum.Table, ObjectActionEnum.Create) { ObjectName = table.Name, ObjectSchema = table.Schema }); } } ScriptTables(context, tables); } }
protected void ScriptAllUserViewsModifiedSince(DbServerContext context, DateTime modifiedSince) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.View) == ObjectTypeEnum.View) { var views = new List <ScriptObject>(); foreach (View view in context.Database.Views) { if (!view.IsSystemObject && view.DateLastModified > modifiedSince) { views.Add( new ScriptObject(ObjectTypeEnum.View, ObjectActionEnum.Create) { ObjectName = view.Name, ObjectSchema = view.Schema }); } } ScriptViews(context, views); } }
protected void ScriptFunctions(DbServerContext context, IEnumerable <ScriptObject> udfs) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Function) == ObjectTypeEnum.Function) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameFunctions); foreach (ScriptObject udfObject in udfs) { if (udfObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(udfObject, outputDirectory); } else { UserDefinedFunction currentUdf = context.Database.UserDefinedFunctions[udfObject.ObjectName, udfObject.ObjectSchema]; ScriptDefinition(udfObject, outputDirectory, new Func <StringCollection>(() => { return(currentUdf.Script(m_options.ScriptingOptions)); })); } } } }
protected void ScriptStoredProcedures(DbServerContext context, IEnumerable <ScriptObject> sprocs) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Procedure) == ObjectTypeEnum.Procedure) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameProcedures); foreach (ScriptObject sprocObject in sprocs) { if (sprocObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(sprocObject, outputDirectory); } else { StoredProcedure currentSproc = context.Database.StoredProcedures[sprocObject.ObjectName, sprocObject.ObjectSchema]; ScriptDefinition(sprocObject, outputDirectory, new Func <StringCollection>(() => { return(currentSproc.Script(m_options.ScriptingOptions)); })); } } } }
protected void ScriptViews(DbServerContext context, IEnumerable <ScriptObject> views) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.View) == ObjectTypeEnum.View) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameViews); foreach (ScriptObject viewObject in views) { if (viewObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(viewObject, outputDirectory); } else { View currentView = context.Database.Views[viewObject.ObjectName, viewObject.ObjectSchema]; ScriptDefinition(viewObject, outputDirectory, new Func <StringCollection>(() => { return(currentView.Script(m_options.ScriptingOptions)); })); } } } }
protected void ScriptTables(DbServerContext context, IEnumerable <ScriptObject> tables) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Table) == ObjectTypeEnum.Table) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameTables); foreach (ScriptObject tableObject in tables) { if (tableObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(tableObject, outputDirectory); } else { Table currentTable = context.Database.Tables[tableObject.ObjectName, tableObject.ObjectSchema]; ScriptDefinition(tableObject, outputDirectory, new Func <StringCollection>(() => { return(currentTable.Script(m_options.ScriptingOptions)); })); } } } }
private DbServerContext GetDatabaseContext(bool loadAllFields = false) { DbServerContext context = new DbServerContext(); SqlConnection connection = new SqlConnection(m_connectionBuilder.ConnectionString); ServerConnection serverConnection = new ServerConnection(connection); context.Server = new Server(serverConnection); context.Database = context.Server.Databases[this.DatabaseName]; context.Server.SetDefaultInitFields(loadAllFields); return context; }
protected void ScriptAllTables(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Table) == ObjectTypeEnum.Table) { List<ScriptObject> tables = new List<ScriptObject>(); foreach (Table table in context.Database.Tables) { if (!table.IsSystemObject) { tables.Add(new ScriptObject(ObjectTypeEnum.Table, ObjectActionEnum.Create) { ObjectName = table.Name, ObjectSchema = table.Schema }); } } ScriptTables(context, tables); } }
protected void ScriptTables(DbServerContext context, IEnumerable<ScriptObject> tables) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Table) == ObjectTypeEnum.Table) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameTables); foreach (ScriptObject tableObject in tables) { if (tableObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(tableObject, outputDirectory); } else { Table currentTable = context.Database.Tables[tableObject.ObjectName, tableObject.ObjectSchema]; ScriptDefinition(tableObject, outputDirectory, new Func<StringCollection>(() => { return currentTable.Script(m_options.ScriptingOptions); })); } } } }
protected void ScriptAllViews(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.View) == ObjectTypeEnum.View) { List<ScriptObject> views = new List<ScriptObject>(); foreach (View view in context.Database.Views) { if (!view.IsSystemObject) { views.Add(new ScriptObject(ObjectTypeEnum.View, ObjectActionEnum.Create) { ObjectName = view.Name, ObjectSchema = view.Schema }); } } ScriptViews(context, views); } }
protected void ScriptViews(DbServerContext context, IEnumerable<ScriptObject> views) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.View) == ObjectTypeEnum.View) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameViews); foreach (ScriptObject viewObject in views) { if (viewObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(viewObject, outputDirectory); } else { View currentView = context.Database.Views[viewObject.ObjectName, viewObject.ObjectSchema]; ScriptDefinition(viewObject, outputDirectory, new Func<StringCollection>(() => { return currentView.Script(m_options.ScriptingOptions); })); } } } }
protected void ScriptAllStoredProcedures(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Procedure) == ObjectTypeEnum.Procedure) { List<ScriptObject> sprocs = new List<ScriptObject>(); foreach (StoredProcedure sproc in context.Database.StoredProcedures) { if (!sproc.IsSystemObject) { sprocs.Add(new ScriptObject(ObjectTypeEnum.Procedure, ObjectActionEnum.Create) { ObjectName = sproc.Name, ObjectSchema = sproc.Schema }); } } ScriptStoredProcedures(context, sprocs); } }
protected void ScriptStoredProcedures(DbServerContext context, IEnumerable<ScriptObject> sprocs) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Procedure) == ObjectTypeEnum.Procedure) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameProcedures); foreach (ScriptObject sprocObject in sprocs) { if (sprocObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(sprocObject, outputDirectory); } else { StoredProcedure currentSproc = context.Database.StoredProcedures[sprocObject.ObjectName, sprocObject.ObjectSchema]; ScriptDefinition(sprocObject, outputDirectory, new Func<StringCollection>(() => { return currentSproc.Script(m_options.ScriptingOptions); })); } } } }
protected void ScriptAllFunctions(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Function) == ObjectTypeEnum.Function) { List<ScriptObject> tables = new List<ScriptObject>(); foreach (UserDefinedFunction udf in context.Database.UserDefinedFunctions) { if (!udf.IsSystemObject) { tables.Add(new ScriptObject(ObjectTypeEnum.Function, ObjectActionEnum.Create) { ObjectName = udf.Name, ObjectSchema = udf.Schema }); } } ScriptFunctions(context, tables); } }
protected void ScriptFunctions(DbServerContext context, IEnumerable<ScriptObject> udfs) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Function) == ObjectTypeEnum.Function) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameFunctions); foreach (ScriptObject udfObject in udfs) { if (udfObject.ObjectAction == ObjectActionEnum.Drop) { DeleteScript(udfObject, outputDirectory); } else { UserDefinedFunction currentUdf = context.Database.UserDefinedFunctions[udfObject.ObjectName, udfObject.ObjectSchema]; ScriptDefinition(udfObject, outputDirectory, new Func<StringCollection>(() => { return currentUdf.Script(m_options.ScriptingOptions); })); } } } }
protected void ScriptSynonyms(DbServerContext context, IEnumerable<ScriptObject> synonyms) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Synonym) == ObjectTypeEnum.Synonym) { string outputDirectory = Path.Combine(m_definitionDirectory, m_options.FolderNameSynonyms); foreach (ScriptObject synonymObject in synonyms) { Synonym curentSynonym = context.Database.Synonyms[synonymObject.ObjectName, synonymObject.ObjectSchema]; ScriptDefinition(synonymObject, outputDirectory, new Func<StringCollection>(() => { return curentSynonym.Script(m_options.ScriptingOptions); })); } } }
protected void ScriptAllSynonyms(DbServerContext context) { if ((m_options.ObjectsToInclude & ObjectTypeEnum.Synonym) == ObjectTypeEnum.Synonym) { List<ScriptObject> synonyms = new List<ScriptObject>(); foreach (Synonym synonym in context.Database.Synonyms) { synonyms.Add(new ScriptObject(ObjectTypeEnum.Synonym, ObjectActionEnum.Create) { ObjectName = synonym.Name, ObjectSchema = synonym.Schema }); } ScriptSynonyms(context, synonyms); } }