Limit search-replace in DB --wp_db_id="wp_posts:1234" (New command parameter)

Ouverte
#142 5 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
wordpress
Domaine
cli, databases

Piste de recherche

Start at the wp search-replace command entry point and inspect how it selects database tables and records. Add support for the table:id form, including the documented WordPress ID mappings and optional comma-separated IDs. Done means a dry run changes only the requested records while existing unrestricted searches continue to work.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

command:search-replace

I often want to apply the wp search-replace command to only one single database record. (Sometimes for testing, sometimes, because I know, that I only have to replace data in one post.) Most often it's a single post ID in wp_posts.

Current situation:

The following command makes a dry run to replace "each and every" match of class="old". It's not possible to limit it to one id of a specific WordPress table.

wp search-replace 'class="old"' 'class="new"' --log --dry-run

Feature request

Add a new command parameter (--wp_db_id="") to set the database table name and the id of a record in order to limit the search-replace command.

--wp_db_id="wp_posts:123"

The correct id field for each WordPress entity is mapped automatically internally. See example below.

Mapping example

  • --wp_db_id="wp_posts:123" (translates internally into wp_posts.ID=123)
  • --wp_db_id="wp_options:789" (translates into wp_options.option_id=789)
  • --wp_db_id="wp_terms:1823" (translates into wp_terms.term_id=1823)

--wp_db_id="{WordPress table name}:{id}"

New command demo

The new command looks like this. It only replaces the record with wp_options.option_id=789.

wp search-replace 'class="old"' 'class="new"' --wp_db_id="wp_options:789" --log --dry-run

Exra feature: Comma separated list of ids

May it's also possible, to add more than one id.

--wp_db_id="wp_terms:1823,1233,2399"

Langage dominant
Gherkin
Étoiles
61
Forks
47
Merge moyen
8 min
PR mergées (30 j)
1

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de wp-cli/search-replace-command

Toutes les issues de wp-cli/search-replace-command

Issues similaires

Plus d'issues CLI

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.