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));
        }