private IList<string> ModifySteps(IList<string> steps)
        {
            var parser = new TSql120Parser(true);
            var modifySteps = new List<string>();

            foreach (var step in steps)
            {
                IList<ParseError> errors;
                var script = parser.Parse(new StringReader(step), out errors);
                var visitor = new TableMigrationVisitor(_rowCount.ToString());
                script.Accept(visitor);

                if (string.IsNullOrEmpty(visitor.NewStatement.NewText))
                {
                    modifySteps.Add(step);
                }
                else
                {
                    var newStep = step.Replace(
                        step.Substring(visitor.NewStatement.StartPos, visitor.NewStatement.Length),
                        visitor.NewStatement.NewText);

                    modifySteps.Add(newStep);
                }
            }

            return modifySteps;
        }
Exemplo n.º 2
0
        private IList <string> ModifySteps(IList <string> steps)
        {
            var parser      = new TSql120Parser(true);
            var modifySteps = new List <string>();

            foreach (var step in steps)
            {
                IList <ParseError> errors;
                var script  = parser.Parse(new StringReader(step), out errors);
                var visitor = new TableMigrationVisitor(_rowCount.ToString());
                script.Accept(visitor);

                if (string.IsNullOrEmpty(visitor.NewStatement.NewText))
                {
                    modifySteps.Add(step);
                }
                else
                {
                    var newStep = step.Replace(
                        step.Substring(visitor.NewStatement.StartPos, visitor.NewStatement.Length),
                        visitor.NewStatement.NewText);

                    modifySteps.Add(newStep);
                }
            }


            return(modifySteps);
        }