Tipps und Tricks Filter

Benutzerdefinierte Tabellen ignorieren

Benutzerdefinierte Tabellen ignorieren bzw. Tabellen ohne "tl_" - Prefix ignorieren muss ab Contao 4.13. nun selber definiert werden.

Dabei gibt es im Prinzip zwei Möglichkeiten, Contao + Manager soll nur "tl_" - Tabellen beachten, oder Ausschließen von eigenen Tabellennamen.

Beides geht dabei über die config.yml (config/config.yml). Nach Änderung darin den Symfony Application Cache neu aufbauen.

Lösung 1:

doctrine:
    dbal:
        schema_filter: ~^(tl_.*)~

In Contao 5 sind zwei Tabellen hinzugekommen, die kein 'tl_' Prefix haben. Daher wäre nun der Eintrag wie folgt:

doctrine:
    dbal:
        schema_filter: ~^(tl_.*|altcha_challenges|rememberme_token)~

Lösung 2 (bevorzugt):
nur die spezifische Tabelle "mytable" ignorieren, da einige Erweiterungen das Präfix tl_ nicht verwenden.

doctrine:
    dbal:
        schema_filter: ~^(?!mytable$)~

Bei mehreren Tabellen den regulären Ausdruck erweitern, Beispiel:

doctrine:
    dbal:
        schema_filter: ~^(?!firsttable$|secondtable$)~g

Lässt man das "$" weg, werden Tabellen die mit dem Namen beginnen gesucht und gefunden.

Wer sicher gehen will, sollte Tools dafür verwenden wie https://regex101.com/