Example #1
0
        private IEnumerable <string> RebuildCommands(SqlSyntax syntax, IGrouping <Table, Column> tblGrp, string columnList)
        {
            yield return($"{syntax.CommentStart} rebuilding empty table {tblGrp.Key} to add column(s) {columnList}");

            var deps = tblGrp.Key.GetDependencies(Destination);

            foreach (var obj in deps)
            {
                foreach (var cmd in obj.DropCommands(syntax))
                {
                    yield return(syntax.ApplyDelimiters(cmd));
                }
            }

            foreach (var cmd in tblGrp.Key.AlterCommands(syntax, Source))
            {
                yield return(syntax.ApplyDelimiters(cmd));
            }

            foreach (var obj in deps)
            {
                foreach (var cmd in obj.CreateCommands(syntax))
                {
                    yield return(syntax.ApplyDelimiters(cmd));
                }
            }
        }
Example #2
0
 private IEnumerable <string> AlterCommands(SqlSyntax syntax, DbObject alter)
 {
     foreach (var cmd in alter.AlterCommands(syntax, Source))
     {
         yield return(syntax.ApplyDelimiters(cmd));
     }
 }
Example #3
0
 private IEnumerable <string> CreateCommands(SqlSyntax syntax, DbObject @object)
 {
     //yield return $"{syntax.CommentStart} table {tbl.Key} has {tbl.Key.RowCount:n0} rows, so new columns are added individually";
     foreach (var cmd in @object.CreateCommands(syntax))
     {
         yield return(syntax.ApplyDelimiters(cmd));
     }
 }
Example #4
0
        private IEnumerable <string> DropCommands(SqlSyntax syntax, DbObject drop)
        {
            var deps = drop.GetDependencies(Destination);

            foreach (var obj in deps)
            {
                foreach (var cmd in obj.DropCommands(syntax))
                {
                    yield return(syntax.ApplyDelimiters(cmd));
                }
            }

            foreach (var cmd in drop.DropCommands(syntax))
            {
                yield return(syntax.ApplyDelimiters(cmd));
            }
        }