Login / Status
developer.Resource
Home . Documentation . Document Library . Extension Manuals
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

Chapter 1. Database Abstraction Layer

Extension Key: dbal

Copyright 2004-2006, Karsten Dambekalns, <karsten@typo3.org>Copyright 2004, Kasper Skårhøj, <kasperYYYY@typo3.com>

This document is published under the Open Content Licenseavailable from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3- a GNU/GPL CMS/Framework available from www.typo3.com

1.1. Introduction

What does it do?

It provides a layer for support of other core databases (DBMS) in TYPO3 than the default database support based on MySQL. Further, each layer can be selected on a per-table basis, thus offering storage of content from TYPO3 in multiple databases and multiple formats.

The support is possible through the well known PHP database API ADOdb. The extension also supports any user-defined layer you can make yourself thus offering unlimited possibilities for connectivity.

Technical details

This extension works only with >= TYPO3 3.8.0 since that version contains a complete implementation of a general database interaction wrapper class, t3lib_DB, which this extension extends (by the “ux_” method, thus containing the class “ux_t3lib_DB”).

Basically TYPO3 3.8.0 allows extensions to supply DBAL because all calls to the database is done through an instance of the class t3lib_DB. That class contains basic wrapper functions for MySQL and some special, recommended functions as well. It has been available since TYPO3 3.6.0RC2, but has changed internally over time.

The wrapper class means that TYPO3 without DBAL extensions installed will work as always, and with virtually no overhead in database connectivity while offering DBAL for those who need it through extensions like this one!

Working databases

The following databases have been tested and are know to work in general. This means, not every aspect has been thoroughly checked, but TYPO3 has been installed from scratch successfully, BE logins are possible, and basic websites can be created (template, pages, content elements):

  1. MySQL 4.0.x and 5.0.x

  2. PostgreSQL 7.x and 8.x

  3. Oracle 8, 9 and 10

  4. Firebird 1.5.2