Note: You are currently viewing documentation for Moodle 3.7. Up-to-date documentation for the latest stable version of Moodle may be available here: admin/tool/navdb/index.


From MoodleDocs

Database Navigation (tool_navdb) is a database browsing plugin for Moodle. This plugin is designed especially for Moodle's DB structure and adds some practical tools.

One of the main limitations of Moodle DB structure is that there are no foreign keys. With tool_navdb the first things you'll notice is that, when a DB table content is shown, some fields have hyperlinks to navigate between tables like a standard foreign key. Some examples of this kind of auto-links are:

  • userid goes to a specific entry in mdl_course table
  • courseid goes to mdl_user
  • contextid goes to mdl_context
  • instance ids in tables like mdl_course_modules and mdl_context goes directly to related table
  • etc.

The same happens with the visualisation of fields that Moodle uses in a non standard ways. The plugin add some extra information when you move a mouse over some elements. For example:

  • timestamps stored as integer instead of a proper date format show a human date
  • contextlevel shows a human readable format
  • roleid show a role shortname

Futhermore, some tables like mdl_user, mdl_course, mdl_course_modules... has a dropdown menu on every record entry with useful options for that specific row. Some examples of these are:

  • mdl_user entry: login as, view profile, delete user, go to user's mdl_role_assignments DB records...
  • mdl_course: view course, settings, delete course, go to mdl_role_assignments for this course DB records...

Dynamic table list

ToolNavDB Selection 003.png

Assisted SQL filter generator

ToolNavDB Selection 004.png

Smart Record Visualization

ToolNavDB Selection 006.png