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 el logo y el enlace del login de WordPress
Cómo personalizar el logo y el enlace del login de WordPress
Éste es el aspecto que presenta la pantalla de login para acceder al back-end de nuestro WordPress: Es muy común que algún cliente nos pida…
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…
WP-CLI Parte 4, trabajando con usuarios
WP-CLI Parte 4, trabajando con usuarios
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…
Haz que la imagen destacada sea obligatoria
Haz que la imagen destacada sea obligatoria
Probablemente en alguna ocasión por un descuido u olvido, o quizá por las prisas, no hayas establecido una imagen destacada en un post. Y si…