Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Views Bootstrap 5.5.4 — Minor update available for module views_bootstrap (5.5.4). Release: Rightup theme 1.0.3 — Minor update available for theme vartheme_bs5_rightup (1.0.3). Release: CommentOn 1.0.6 — Minor update available for module commenton (1.0.6). Release: ChatGPT Ads 1.0.3 — Minor update available for module chatgpt_ads (1.0.3). Release: Opensolr Search 5.1.3 — Minor update available for module opensolr_search (5.1.3). Release: ServiceM8 Webform Integration 1.2.1 — Minor update available for module servicem8_webform (1.2.1). Release: PostfixAdmin 1.0.0 — Initial release available for module postfix_admin (1.0.0)! Release: ip_analyser 1.0.3 — Minor update available for module ip_analyser (1.0.3). Module Revived: Swagger-PHP OpenAPI 3 documentation generator 1.0.0 — Module swagger_php updated after 10 months of inactivity (1.0.0). Security Coverage: Microsoft Azure AI — Module ai_provider_azure now has official Drupal security advisory coverage.

Project description

This is a drush command to call any other existent drush command only once, when some specific version is specified.

Mode of use:

drush run:once id version drushCommandToExecute

Check drush help run:once for all the options.

Use case:

  • Importing translations with locale:import is a slow process.
  • Assuming nobody is updating strings via the UI. If the source PO files is not modified it does not make sense to run the import process. The final result will be the same.
  • You could use then drush run:once in the following way:

drush run:once importSpanishStrings v0.1 locale:import --args='es,path/to/es.po' --options='override=all,type=customize

Where:

  • importSpanishStrings` is the name you give to the action running the locale:import command.
  • v0.1` is the version run:once will check in the database to see if this command need to be run.
  • locale:import --args='es,path/to/es.po' --options='override=all,type=customize is the actual drush command to execute.

If you attempt to run the same command twice, nothing will happen since the version v0.1 for importSpanishStrings is already set in the database.

The version specified can be anything. You could use commit hashes to compare against. Or some sort of MD5 or SHA1 hash against some specific file.

Installation

It is recommended to update your Composer installers path for drupal-drush packages to:

"drush/Commands/{$name}": ["type:drupal-drush"]

Then install it by running:

composer require drupal/drush_run_once

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Aug 2023
Latest release
3 years ago
Releases (12 mo)
0
Maintenance
Dormant

Releases

Version Type Core Release date
1.0.2 Stable Aug 10, 2023