0

I'd like to filter out multiple patterns, because our schema has superfluous (for the purposes of the intended diagram) table names such as foo_AUDIT, bar_enum_baz, and SYSTEM. So I'd like to hide all tables containing AUDIT, enum, or SYSTEM.

But is that possible? I've tried various usages of -grepcolumns and invert-match but can only filter out one pattern at a time. My first try was this:

-grepcolumns=.*(AUDIT|_enum_|SYSTEM).* \

But it appears the underlying regex resolver really is grep-like, and does not support capture groups?

I've tried multiple -grepcolumns, but that doesn't appear to work either.

Any solution to this?

For reference this is my invocation so far:

    ./schemacrawler.sh \
        -command=schema \
        -grepcolumns=.*\\..*AUDIT\\..* \
        -hideemptytables \
        -infolevel=standard \
        -invert-match \
        -only-matching \
        -portablenames \
        -sortcolumns \
        <...connection options>
Jon Lauridsen
  • 2,521
  • 5
  • 31
  • 38

1 Answers1

1

Oh, as soon as I hit post I spot the documentation example:

-grepcolumns=.*\.STREET|.*\.PRICE

Along with -invert-match that works perfectly.

(I got the documentation from running ./schemacrawler.sh --help)

Jon Lauridsen
  • 2,521
  • 5
  • 31
  • 38