protected override bool CheckIsSystemObject(ScriptNameObjectBase dbobject) { var o = dbobject as Table; if (o == null) return true; return o.Schema.Equals("sys") || o.Name.Equals("dtproperties") || o.Name.Equals("sysdiagrams"); }
protected override bool CheckIsSystemObject(ScriptNameObjectBase dbobject) { var o = dbobject as UserDefinedFunction; if (o == null) return true; return o.Schema.Equals("sys") || o.Name.Equals("fn_diagramobjects"); }
protected override bool CheckIsSystemObject(ScriptNameObjectBase dbobject) { var o = dbobject as Schema; if (o == null) return true; return Array.BinarySearch(SystemSchemaNames, o.Name) > -1 || o.Name.StartsWith("db_"); }
protected override bool CheckIsSystemObject(ScriptNameObjectBase dbobject) { var o = dbobject as View; if (o == null) return true; return o.Schema.Equals("sys") || o.Schema.Equals("INFORMATION_SCHEMA"); }
protected override bool CheckIsSystemObject(ScriptNameObjectBase dbobject) { var o = dbobject as StoredProcedure; if (o == null) return true; return o.Schema.Equals("sys") || o.Name.StartsWith("dt_") || (o.Schema.Equals("dbo") && o.Name.StartsWith("sp_")); }
protected Base(IScriptable scriptable, ScriptNameObjectBase nameElement) { if (scriptable == null) { throw new ArgumentNullException("scriptable"); } if (nameElement == null) { throw new ArgumentNullException("nameElement"); } if (scriptable != nameElement) { throw new ArgumentException("Both supplied parameters should be same object"); } _nameElement = nameElement; _scriptable = scriptable; }
/// <summary> /// Recursively scripts all objects in the collection while walking the dependency tree to ensure /// child or parent objects are dropped/created appropriately /// </summary> protected virtual void RecurseScript(Server server, StringCollection output, ScriptNameObjectBase dbobject, ScriptingOptions scriptOptions, ScriptEntity entity, bool parents) { if (dbobject == null || entity == null) return; LogMessage("Checking {0} '{1}'", dbobject.GetType().Name, dbobject.Name); if (CheckIsSystemObject(dbobject) || entity.HasBeenScripted || !Filter.IsMatch(dbobject.Name)) return; entity.HasBeenScripted = true; var dependencies = parents ? entity.EntitiesWhichIDependOn : entity.EntitiesWhichDependOnMe; foreach (var dependencyEntity in dependencies) { if (dependencyEntity != entity && dependencyEntity.HasBeenScripted == false) { RecurseScript(server, output, GetObjectByName(dependencyEntity.Schema, dependencyEntity.Name), scriptOptions, dependencyEntity, parents); } } LogMessage("Scripting {0} '{1}'", dbobject.GetType().Name, dbobject.Name); var scriptOutput = ((IScriptable)dbobject).Script(scriptOptions); var entries = new string[scriptOutput.Count + 1]; scriptOutput.CopyTo(entries, 0); entries[entries.Length - 1] = "GO"; output.AddRange(entries); }
protected abstract bool CheckIsSystemObject(ScriptNameObjectBase dbobject);