Drupal Database Tables
By Andrew Sterling Hanenkamp on Tuesday, April 24, 2007
I’ve been going through the list of tables on my Drupal site in prep to convert an existing single-site to a multi-site with a shared database. However, I haven’t found any reference that illuminates the general purpose of the tables. I’ve tried to put together at least a preliminary list here. I share it in hopes that someone else might find it useful, but it is not normative or complete.
- access
- User. This is the table used by the “Access Rules” section for banning usernames, IPs, etc.
- accesslog
- Statistics. This stores the accesslog if Drupal is collecting statistics.
- aggregator_category
- Aggregator. Store the categories feeds may belong to.
- aggregator_category_feed
- Aggregator. Links feeds to categories.
- aggregator_category_item
- Aggregator. Links feed items to categories.
- aggregator_feed
- Aggregator. Store the feeds that the Aggregator module pulls from.
- aggregator_item
- Aggregator. Store the items that the Aggregator module has pulled for the various configured feeds.
- authmap
- User. This stores a map to the authentication module used to authentication each user in the database.
- blocks
- Block. This stores information about blocks provided by every module installed, including custom blocks.
- blocks_role
- Block. Stores the roles permitted to view blocks in the system.
- boxes
- Block. Administrator created blocks.
- cache
- System. The general cache of data, used by many modules.
- cache_filter
- System. I have no idea what this table is used for.
- cache_menu
- System. I have no idea what this table is used for.
- cache_page
- System. I have no idea what this table is used for.
- cache_views
- Views. Used to cache information related to views.
- client
- Drupal. Used to record Drupal client sites. I believe this is the list of sites that others have logged in from if you use the Drupal module.
- client_system
- Drupal. I’m not exactly certain what this table is for.
- comments
- Comment. Stores all comments made on your Drupal site.
- contact
- Contact. Stores the emails sent via a contact form.
- files
- Upload. Stores information about files uploaded via the file upload module (and used by some other modules too).
- file_revisions
- Upload. Associated file revisions with node revisions allowing different node revisions to have different versions of a file associated with them.
- filters
- Filter. Stores information about the body content filters used in your install.
- filter_formats
- Filter. Associates filter formats and settings with a body content filter.
- flood
- Watchdog. Used to detect floods from requests coming from a set.
- forum
- Forum. Used to link forum posts with the forum topic.
- history
- Node. Used to track which nodes are read/unread.
- locales_meta
- Locale. Something to do with language translation.
- locales_source
- Locale. Something to do with language translation.
- locales_target
- Locale. Something to do with language translation.
- menu
- Menu. Storage of menu module customizations.
- node
- Node. The main table for storing general node information, including the title, node number, dates, workflow state, but it does not store most of the actual content.
- node_access
- Node. Storage of per-node access permissions.
- node_comment_statistics
- Comment. Notes certain statistics related to the number of comments and how recently comments have been made on a node.
- node_counter
- Statistics. Records the view count for each node.
- node_revisions
- Node. Stores information about node revisions, including the main content of the node.
- node_type
- Node. Stores information about the custom node types.
- permission
- User. Stores the permissions that have been assigned to each role.
- poll
- Poll. Extra information associated with poll nodes.
- poll_choices
- Poll. Associates the available choices with a poll node.
- poll_votes
- Poll. Votes by visitors on a poll node.
- profile_fields
- Profile. Definitions of available profile fields.
- profile_values
- Profile. Profile field values associated with a particular user.
- role
- User. Assigns role IDs and names to all the roles in the system.
- search_dataset
- Search. Something to do with search.
- search_index
- Search. The search index.
- search_total
- Search. The number of times a given word appears on the site.
- sequences
- System. The current counter for each of the sequence IDs.
- sessions
- User. User session tracking data stored in the database.
- system
- System. Information about installed modules.
- term_access
- Taxonomy Access Control. Access control per category.
- term_access_defaults
- Taxonomy Access Control. Access control per vocabulary.
- term_data
- Taxonomy. Definition of taxonomy terms.
- term_hierarchy
- Taxonomy. List of parent terms for each taxonomy term.
- term_node
- Taxonomy. Table linking taxonomy terms to nodes.
- term_relation
- Taxonomy. Relationships between taxonomy terms.
- term_synonym
- Taxonomy. Alternative names for a taxonomy term.
- tinymce_role
- TinyMCE WYSIWYG Editor. Roles assigned to use TinyMCE profiles.
- tinymce_settings
- TinyMCE WYSIWYG Editor. Definition of TinyMCE profiles.
- url_alias
- Path. Path aliases recorded to nodes.
- users
- User. User records.
- users_roles
- User. Link table between users and roles.
- variable
- System. Administrative settings and other site-wide variables.
- view_argument
- Views. Definition of arguments to a view.
- view_exposed_filter
- Views. Definition of exposed filters in a view.
- view_filter
- Views. Definition of filters in a view.
- view_sort
- Views. Definition of sorting in a view.
- view_tablefield
- Views. Something to do with the views plugin.
- view_view
- Views. Basic information about a view.
- vocabulary
- Taxonomy. Definition of taxonomy vocabularies.
- vocabulary_node_types
- Taxonomy. Associates vocabularies with node types.
- watchdog
- Watchdog. Records watchdog log entries.