private void VisitTable(Table table, IgnoreRule rule) { var matcher = RuleMatcher <TableColumn> .Create(rule.Column); var matchedColumns = matcher.Get(table.TableColumns); foreach (var matchedColumn in matchedColumns) { RemoveColumn(table.TableColumns, matchedColumn); } }
private void VisitSchema(Schema schema, IgnoreRule rule) { foreignKeysOfSchema = schema.Tables.SelectMany(t => t.TableConstraints.OfType <ForeignKey>()).ToList(); var matcher = RuleMatcher <Table> .Create(rule.Table); var matchedTables = matcher.Get(schema.Tables); if (!MatchingHelper.IsMatchAll(rule.Column)) { foreach (var table in matchedTables) { VisitTable(table, rule); } } else { foreach (var table in matchedTables) { RemoveTable(schema.Tables, table); } } }