11

I found this great diagram for Magento Database Tables, however, I would like to know if this is still up to date. I am running Magento 1.9. It was published in 2009 and several Magento updates have been rolled out since then. I am hoping that the database structure is still relatively the same. I'd like to get confirmation before I send it to the printer to get a large copy of it.

Diagram: MAGENTO_v1.3.2.4-Database_Diagram.pdf

Also, does anyone know where to find the table definitions? It would be a nice reference to go along with the diagram.

10

It's not up to date. There was a huge step in and many minor changes in the other 1.x updates.

Especially the sales and index tables are completely different now, I would not use this sheet as a reference anymore.

Unfortunately table definitions are not in one place but scattered around hundreds of install and upgrade scripts. You will find them in app/code/core/Mage/*/sql/*/*.php

You will notice that there is usually a install-1.6.0.0.php script that sets up everything for the current module and Magento 1.6. Start there and ignore all scripts with lower versions. Changes are incrementally added with scripts like upgrade-1.6.0.0-1.6.1.0 and so on.

Update: Thanks to Anna Völkl, there is a new complete database diagram for Magento 1.9.2.2:

enter image description here

Source: http://anna.voelkl.at/magento-ce-1-9-2-2-database-diagram/

  • Excellent information. I am experimenting with ERD in phpMyAdmin to create an organizational chart seeing how that would be more applicable to my installation. As for the definitions, I knew there were files that dealt with sql in the code/core/Mage/ area, however, I was looking for information like what does this table store, what tables does it interact with and so on. Thanks for the info. – NotJay Jul 7 '15 at 14:21
  • Extremely useful. Anyone know which software package(s) generate database schemas in this way? – bluemwhitew May 22 '16 at 19:49
2

If you're going to be doing a lot of custom database queries and relying on searches in the database, you should consider enabling Flat Product Table and Flat Category Table which creates a single category table and a single product table with columns for all attributes that are enabled for use in product page. This will require an index refresh. Both the flat table and the eav tables will both continue to be populated with data.

I wouldn't too much stock in trying to learn the Magento database structure... there's a function for almost everything you need to do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.