DEPRECATION WARNING

This documentation is not using the current rendering mechanism and will be deleted by December 31st, 2020. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

$TYPO3_CONF_VARS['EXTCONF']['dbal']

The DBAL is configurable through $TYPO3_CONF_VARS['EXTCONF']['dbal'] entered in ext_localconf.php / localconf.php. This table is an overview of the main keys in this array:

handlerCfg[ handlerKey ]

Key

handlerCfg[ handlerKey ]

Datatype

->handlerCfg

Description

Configuration of each data handler you want to use in the system.

Each handler is identified with a string (handlerKey) which is used in the table2handlerKeys configuration (see below) to pair table names with handlers.

There is always a default handler needed which has the handlerKey "_DEFAULT". By default this handler is configured with the classic username/password/host and database settings from localconf.php in TYPO3.

If you want to use ADOdb or just need to store a table in another database you can configure a handler here and map the tables you need to that handler (with table2handlerKeys, see below).

table2handlerKeys[ tablename ]

Key

table2handlerKeys[ tablename ]

Datatype

handlerKey

Description

Using other handlers than the "_DEFAULT" handler key is possible on a per-table basis and simply done by entering the table name as key in this array and letting the value be the handlerKey you want to use for this table!

Beware: The table names here are the values of mapTableName and not the names that TYPO3 will use; thus the real table names.

Notice: If tables are joined both tables must use the same handlerKey. If they do not TYPO3 will exit with a fatal error!

You can use the debug options to track all table joins and assess which tables can safely be handled together.

mapping[ tablename ]

Key

mapping[ tablename ]

Datatype

->mapping

Description

Configuration of mapping of table and fieldnames. For instance you can configure that TYPO3 should use a physical table in the database named typo3_pages instead of pages. Or you can map fieldname in a similar fashion.

The point is that TYPO3 always sees a table or field names as TYPO3 requires internally but in reality the table- or field name could be something different in the physical database source.

There is a performance loss by configuring such mapping of course: Result rows are preprocessed before being returned and all SQL queries are parsed, transformed and re-compiled again before execution.

debugOptions

Key

debugOptions

Datatype

->debug

Description

Options for various debugging in the DBAL.