private List <string> GenerateDataScriptList(DataScriptCollection dataScriptCollection, bool includeStaticDataScripts, bool includeTestDataScripts) { List <string> dataScriptList = new List <string>(); if (includeStaticDataScripts) { dataScriptList.AddRange(dataScriptCollection.StaticDataScriptNames); } if (includeTestDataScripts) { dataScriptList.AddRange(dataScriptCollection.TestDataScriptNames); } return(dataScriptList); }
private MergeScriptParseCollection CreateDataTableFromScript(string dataScriptKey, DataScriptCollection dataScriptCollection, Dictionary <string, string> databaseTableInfo) { string databaseTableScriptContents = File.ReadAllText(databaseTableInfo[dataScriptKey]); DataTable dataTable = SqlStatementParser.ParseTableCreate(databaseTableScriptContents); Dictionary <DatabaseEnvironment, DataScript> dataScripts = dataScriptCollection.GetDataScriptByName(dataScriptKey); Dictionary <DatabaseEnvironment, MergeScriptParseResult> mergeScriptParseResults = new Dictionary <DatabaseEnvironment, MergeScriptParseResult>(dataScripts.Count); bool containsErrors = false; foreach (DataScript dataScript in dataScripts.Values) { string dataScriptContents = File.ReadAllText(dataScript.Path); MergeScriptParseResult mergeScriptParseResult; try { mergeScriptParseResult = SqlStatementParser.ParseMergeScript(dataScriptContents, dataTable); } catch (Exception ex) { containsErrors = true; mergeScriptParseResult = new MergeScriptParseResult(dataTable, false, false, new List <string> { $"Path: {dataScript.Path}\r\nException: {ex.Message}\r\nStack: {ex.StackTrace}" }); } mergeScriptParseResults.Add(dataScript.Environment, mergeScriptParseResult); } return(new MergeScriptParseCollection(mergeScriptParseResults, containsErrors)); }