Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
By jamon8888 on
Hi,
I'd like to add some data to my drupal forum, and i dont really undertand the database model/scheme. Can somebody point me to some documentation? For example i need to understand the role of node, vocabulary, term_data tables and what is tid,vid,nid fieds... Then i could add data the sql way.
Regards,
Jam
Comments
APIs are published
Best bet is the online API: http://api.drupal.org/ and reading through the Forum.module code.
See also the general module overviews here: http://drupal.org/handbook/modules
--
http://ken.blufftontoday.com/
http://new.savannahnow.com/user/2
Search first, ask good questions later.
I don't think complete
I don't think complete documentation for Drupal's database schema exists. Here are a few things that I have found:
An ongoing attempt with comments for Drupal 6
http://drupal.org/node/79874
An analysis with SchemaSpy
http://webdevgeeks.com/schemaspy/index.html
About the taxonomy part (important for the forum module)
http://blog.riff.org/2005_11_27_grokking_drupal_the_taxonomy_system
http://blog.riff.org/files/Taxonomy8.png
Now, the forum module relies heavily on taxonomy and comments.
The forum vocabulary is not replaceable by the user -- its ID and its required settings are in the 'variable' table, and these required settings are greyed out or removed in the taxonomy categories GUI.
There is also a forum table (tid, nid, vid). 'vid' here is the node revision ID and it is the primary key. The same data are also stored in 'term_node' (tid, nid) -- which however is "many to many" -- and in 'node_revision' (nid,vid).
This is by no means a thorough description. Besides the obvious tables involved here, there are other, more or less obvious for tying this to the whole system. For example, the 'files' and 'file_revision' tables are more obvious while the fact that the max ID added for a nid, tid etc must be recorded in a variable in the 'sequences' table is not so obvious.