Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there Database diagram of Typo3?

I have to migrate my custom system to typo3 version 6.2 but I did not find any database diagram(design/schema) of typo3. Would be great if someone can help. Thank you.

like image 412
user2737980 Avatar asked Aug 31 '25 10:08

user2737980


2 Answers

In a TYPO3 installation without extensions, there are not many tables that will interest you. Interesting tables are

  • pages and pages_language_overlay: Pages and their translations.
  • tt_content: Content, translations are in the same table.
  • sys_language: Define available languages. For pages with only a default language it can stay empty.
  • sys_domain: Define Domains under which a site is available. For single domain installations it can be left empty.
  • sys_file_reference: References to files, which are stored in table sys_files. The table sys_files will be automatically filled when you put files into the fileadmin folder.
  • fe_users and fe_groups: Frontend users and groups.

The other tables are either caching tables (names start with cf_) or are mostly used internally (most tables having names starting with sys_).

In some of the tables, especially in pages and tt_content, there are deprecated fields.

The usage of some fields depends on the actual TYPO3 setup. For example, the text of a content element from tt_content could be stored in the field bodytext, or in the field pi_flexform. So the question how to import your data depends on your setup.

For further information have a look at the official docs: https://docs.typo3.org/typo3cms/CoreApiReference/latest/ApiOverview/Database/DatabaseStructure/Index.html

like image 146
Jost Avatar answered Sep 04 '25 03:09

Jost


I don't have a diagram either, but this note is too long for a comment:

Most M:N relationships (e.g. users & groups) are handled with foreign key attributes stored as comma-separated entries inside table cells, inside rows of the parent table. Of course, this nonatomic way of storing data violates first-normal form of database-table design.

However, some newer extensions do rely on bridge tables. In typo3, this is called an M:M relation, and some tables have a naming corresponding convention, e.g. tt_news_cat_mm, linking news-messages with news-categories.

like image 43
knb Avatar answered Sep 04 '25 02:09

knb