Drupal database schema and Node

Posted under » Drupal updated on 24 Mar 2025

Drupal's database schema is more complicated because it has revisions. Drupal is a CMS that was designed as a news or publishing platform. So the editor can keep track of the changes to the article and have several layers of approval process before the content is published.

I will not cover all the tables but only regarding content.

Node

Node table is the heart of it all. A node has nid, vid, type, uuid, langcode where v stands for version.

The purpose of node table is to hold the UUID.

node_field_data

This is an extension of the node table. Thus you will get the same nid, vid and type in node and node_field_data.

node__body

This is an extension of the node_field_data table. However, the field names are changed. You will get the nid (entity_id), vid (revision_id) and type (bundle) in node_field_data and node__body.

Note that there are many node__tablename. These are the fields similar to node__body. For example. node__field_image

node__comment

This is something like node__body. However, comments are like sub node or another module. The contents are inside the comment table.

Drupal revision tables »

web security linux ubuntu python django git Raspberry apache mysql php drupal cake javascript css AWS data