Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
WP-CLI

WP-CLI Parte 5, trabajando con la base de datos

 

Quinta entrega de la serie de entradas sobre WP-CLI. Toca hablar de cosas que podemos hacer con la base de datos a través de la línea de comandos.

Vamos a hablar del comando wp db, que dispone de los siguientes subcomandos:

  • wp db check, lista el estado de la base de datos y de cada una de sus tablas.
  • wp db cli, abre MySQL en la consola utilizando las credenciales establecidas en wp-config.php.
  • wp db create, crea una nueva base de datos (utilizando el nombre establecido en wp-config.php, si no existe).
  • wp db drop, elimina la base de datos (utilizando el nombre establecido en wp-config.php).
  • wp db export, para exportar la base de datos.
  • wp db import, para importar una base de datos Import a database from a file or from STDIN.
  • wp db optimize, para optimizar la base de datos.
  • wp db prefix, muestra el prefijo de la base de datos.
  • wp db query, para ejecutar una consulta contra la base de datos.
  • wp db repair, repara la base de datos.
  • wp db reset, elimina todas las tablas de la base de datos.
  • wp db search, para buscar una cadena en la base de datos.
  • wp db size, muestra el nombre de la base de datos y su peso.
  • wp db tables, para mostrar un listado de las tablas de la base de datos.

 

Vamos a ver algunos ejemplos:

 

Un primer vistazo a la base de datos desde la línea de comandos

Siempre está bien echar un vistazo a nuestra base de datos: ¿cúantas tablas hay? ¿Cuál es el peso total de la base de datos? ¿Cúal es el peso de cada tabla? ¿Cuantos estragos ha causado la pluginitis en nuestra base de datos?, etc…

El comando wp db tables nos muestra un listado de todas las tablas de la base de datos:

Podemos obtener este listado en pantalla (por defecto) o exportarlo a un CSV, añadiendo --format=csv.

wp db tables

También podemos hacer un checkeo de la base de datos con el comando wp db check. Este comando no admite parámetros.

wp db check

Especialmente útil el comando wp db size. Obtendremos información sobre lo que pesa cada tabla de nuestra base de datos. Acepta los siguientes parámetros:

  • [--size_format], para devolver únicamente el peso en bytes (b, por defecto), kilobytes (kb) ó megabytes(mb) de la base de datos.
  • [--tables], para segmentar la información y ver lo que pesa cada tabla de manera independiente.
  • [--format], para establecer la salida de la información en pantalla: table (por defecto), csv ó json.
  • [--network], para listar todas las tablas en una instalación multisite
  • [--all-tables-with-prefix], para listar todas las tablas con el prefijo por defecto, incluso si no están registradas en $wpdb.
  • [--all-tables], lista todas las tablas en la base de datos independientemente del prefijo, incluso si no están registradas en $wpdb.

 

Por ejemplo para ver el tamaño de las tablas de nuestra base de datos de manera individual, ejecutaremos:

wp db size

 

Crea, borra, exporta e importa una base de datos desde la línea de comandos

Acciones que son el pan nuestro de cada día, y que con WP-CLI podemos realizar a golpe de comando. Como mejor se ve es con ejemplos:

Ejecuta la instrucción SQL CREATE_DATABASE, utilizando las credenciales DB_HOST, DB_NAME, DB_USER y DB_PASSWORD especificadas en el archivo wp-config.php.

Ejecuta la instrucción SQL DROP_DATABASE, utilizando las credenciales DB_HOST, DB_NAME, DB_USER y DB_PASSWORD especificadas en el archivo wp-config.php. Este comando acepta el parámetro --yes, para responder automáticamente SI a las preguntas de confirmación de borrado de la base de datos.

Para exportar nuestra base de datos, utilizaremos el comando wp db export. Este comando ejecuta la instrucción mysqldump, utilizando las credenciales DB_HOST, DB_NAME, DB_USER y DB_PASSWORD especificadas en el archivo wp-config.php. Acepta como parámetros:

  • [<file>], el nombre que queremos dar al fichero sql resultante. Si se omite, se creará un fichero con el nombre de la base de datos.
  • [--<field>=<value>], argumentos extra que pueden pasarse a mysqldump.
  • [--tables=<tables>], donde podemos definir una lista separada por comas con el nombre de tablas específicas que queremos exportar. Si no se especifica nada, se exportan todas las tablas.
  • [--exclude_tables=<tables>], donde podemos definir una lista separada por comas con el nombre de las tablas que NO queremos exportar. Si no se especifica nada, se exportan todas las tablas.
  • [--porcelain], para devolver en la salida únicamente el nombre del fichero exportado

 

Para importar una base de datos, utilizaremos el comando wp db import. Este comando ejecuta SQL Queries, utilizando las credenciales DB_HOST, DB_NAME, DB_USER y DB_PASSWORD especificadas en el archivo wp-config.php. No crea la base de datos por sí mismo, si esta no existe previamente. Acepta los siguientes parámetros:

  • [<file>], el nombre del fichero a importar.
  • [--skip-optimization], para evitar comprobaciones de claves y mejorar el rendimiento.

 

Reparando y optimizando una base de datos con WP-CLI

En alguna ocasión puede darse el caso de que tengamos algunas tablas marcadas como defectuosas o corruptas. Es entonces cuando podemos hacer uso del comando wp db repair. Éste comando ejecuta la instrucción REPAIR TABLE de MySQL, utilizando las credenciales DB_HOST, DB_NAME, DB_USER y DB_PASSWORD especificadas en el archivo wp-config.php. Siempre y cuando el motor de almacenamiento soporte esta instrucción. Más información aquí.

En una línea muy parecida tenemos el comando wp db optimize. Ejecuta la instrucción OPTIMIZE TABLE de MySQL, utilizando las credenciales DB_HOST, DB_NAME, DB_USER y DB_PASSWORD especificadas en el archivo wp-config.php. Siempre y cuando el motor de almacenamiento soporte esta instrucción. Más información aquí.

 

Hasta aquí el quinto artículo de la serie sobre WP-CLI. Dispones de información más detallada en la página oficial.

Puede que también te interese

Cómo personalizar AMP en WordPress
Cómo personalizar AMP en WordPress
AMP es el proyecto de Google y varios partners (entre los que se encuentra WordPress) para ofrecer a los usuarios páginas ultra rápidas. Son las…
La famosa instalación de WordPress en 30 minutos
La famosa instalación de WordPress en 30 minutos
Con este título tuve el honor de participar como ponente en la pasada WordCamp Sevilla 2016, celebrada en la Escuela de Organización Industrial (EOI). Antes…
Crea tu propio motor de búsqueda para WordPress
Crea tu propio motor de búsqueda para WordPress
En este artículo vamos a ver cómo personalizar la búsqueda en WordPress, creando nuestro propio motor de búsqueda para adaptarlo a nuestras necesidades. Por defecto el…
WP-CLI Parte 10, crea tus propios comandos
WP-CLI Parte 10, crea tus propios comandos
1. Instalación y primeros pasos 2. Instalando WordPress y primeros pasos y configuraciones 3. Trabajando con posts 4. Trabajando con usuarios 5. Trabajando con la…