Skip to main content

To run a SQL command using Drush, use the following sql-query command

drush sql-query "COMMAND"

As an example, in the following I will remove all of the records in the Watchdog.

 

Delete from watchdog

To empty (clear) the watchdog table, which contains Drupal's log messages, using the above noted command. The command to delete all entries from the watchdog table is as follows:

drush sql-query "DELETE FROM watchdog"

This command executes a SQL DELETE operation on the watchdog table, effectively clearing all the log entries.

If you are using Drush 9 or later, the command syntax remains the same. Just ensure you are running the command within the context of your Drupal site directory, or you have otherwise specified the Drupal site context for Drush to operate on.

 

Additional Tips

Backup Before Deletion: It's a good practice to backup your database before running direct SQL delete commands, especially in a production environment. You can use Drush to create a backup

drush sql-dump > backupfilename.sql

 

Using Drush for Log Management

While Drush doesn't have a specific built-in command for clearing logs as of my last update, the sql-query command is a powerful tool for direct database manipulation, including clearing logs or performing other custom queries.

 

Caution

Always exercise caution when running SQL commands directly on your database, particularly with commands that modify or delete data, to avoid unintended data loss.

Related articles

Andrew Fletcher04 Apr 2025
Managing .gitignore changes
When working with Git, the .gitignore file plays a critical role in controlling which files and folders are tracked by version control. Yet, many developers are unsure when changes to .gitignore take effect and how to manage files that are already being tracked. This uncertainty can lead to...
Andrew Fletcher26 Mar 2025
How to fix the ‘Undefined function t’ error in Drupal 10 or 11 code
Upgrading to Drupal 10.4+ you might have noticed a warning in their code editor stating “Undefined function ‘t’”. While Drupal’s `t()` function remains valid in procedural code, some language analysis tools — such as Intelephense — do not automatically recognise Drupal’s global functions. This...
Andrew Fletcher17 Mar 2025
Upgrading to PHP 8.4 challenges with Drupal contrib modules
The upgrade from PHP 8.3.14 to PHP 8.4.4 presents challenges for Drupal 10.4 websites, particularly when dealing with contributed modules. While Drupal core operates seamlessly, various contrib modules have not yet been updated to accommodate changes introduced in PHP 8.4.x. This has resulted in...