private void AddInsertScripts(SqlPack sqlPack, List <XmlElement> xmlNodes, List <string> variables = null) { var columnList = new List <string>(); var valueList = new List <string>(); var excluded = new List <string> { Startup, Setup, Teardown, VariableNode }; var tempQueries = new List <string>(); foreach (var xmlNode in xmlNodes.Where(x => !excluded.Contains(x.Name.ToLower()))) { foreach (var childNode in xmlNode.ChildNodes) { //Escape column names with [ColName] to avoid keyword problems //columnList.Add(string.Format("[{0}]",((XmlElement) childNode).Name)); columnList.Add(((XmlElement)childNode).Name); valueList.Add(GetFormattedValue(childNode)); } tempQueries.Add(string.Format(SqlInsertTemplate, xmlNode.Name, string.Join(",", columnList), string.Join(",", valueList))); columnList.Clear(); valueList.Clear(); } if (tempQueries.Any()) { var variableDeclarations = GetVariableDeclarations(variables); var joinedQuery = string.Join("\n", tempQueries); sqlPack.Inserts.Add(OracleHelpers.DelimitVariableBlock(variableDeclarations, joinedQuery, DataContext.Settings)); } }
private void AddScripts(List <string> collection, string currentSetupSql, List <string> variables = null) { if (!string.IsNullOrEmpty(currentSetupSql)) { var variableDeclaration = GetVariableDeclarations(variables); collection.Add(OracleHelpers.DelimitVariableBlock(variableDeclaration, currentSetupSql, DataContext.Settings)); } }
public void Dispose() { if (_sqlPack != null) { if (_sqlPack.SetupScripts != null) { RunScriptPack(OracleHelpers.Blockify(_sqlPack.SetupScripts, DataContext.Settings)); } if (_sqlPack.TearDownScripts != null) { RunScriptPack(OracleHelpers.Blockify(_sqlPack.TearDownScripts, DataContext.Settings)); } } }
private void ExecPack(SqlPack sqlPack) { var changedCount = 0; changedCount += RunScriptPack(OracleHelpers.Blockify(sqlPack.StartupScripts, DataContext.Settings)); changedCount += RunScriptPack(OracleHelpers.Blockify(sqlPack.SetupScripts, DataContext.Settings)); changedCount += DataContext.ExecBatch(OracleHelpers.Blockify(sqlPack.Inserts, DataContext.Settings)); if (!_ignoreNoChange && changedCount == 0) { throw new ApplicationException( string.Format("No records inserted. There were {0} statements issued against the DB. Paths used: {1}", sqlPack.SetupScripts.Count + sqlPack.Inserts.Count, string.Join(";", _paths))); } }