Drupal: Cómo limpiar datos de una base de datos con Drush

Y la importancia de por que hacerlo

Sergio Guardiola Herrador
2 min readNov 8, 2021
Photo by David Pupaza on Unsplash

El saneamiento de datos implica la eliminación a propósito de datos confidenciales para que no se puedan recuperar. Esto se hace por ejemplo cuando se trabaja con una base de datos de producción en nuestro local. Esa base de datos puede contener correos electrónicos, direcciones, números de teléfono y otros datos que no deberían filtrarse.

Si usamos Drupal, Drush tiene su propio comando para hacer esto. La ejecución del siguiente comando limpiará los campos de los usuarios, eliminará los envíos de formularios y truncará la tabla de sesiones:

drush sql:sanitize
The following operations will be performed:
* Truncate sessions table.
* Sanitize text fields associated with users.
* Sanitize user passwords.
* Sanitize user emails.
* Truncate webform submission tables.
Do you want to sanitize the current database? (yes/no) [yes]:
> yes
[success] Sessions table truncated.
[success] No text fields for users need sanitizing.
[success] user__field_contract_number table sanitized.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] user__field_first_name table sanitized.
[success] user__field_last_name table sanitized.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] user__field_organisation table sanitized.
[success] No text fields for users need sanitizing.
[success] user__field_phone_number table sanitized.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] No text fields for users need sanitizing.
[success] User passwords sanitized.
[success] User emails sanitized.
[success] Webform submission tables truncated.

Este comando ofrece estas opciones:

— allowlist-fields[=ALLOWLIST-FIELDS]. Una lista delimitada por comas de campos exentos de saneamiento.

— sanitize-email[=SANITIZE-EMAIL]. El patrón para las direcciones de correo electrónico de testing en la operación de saneamiento, o no para mantener las direcciones de correo electrónico sin cambios. Puede contenter los patrones %uid, %mail or %name. [default: user+%uid@localhost.localdomain]

— sanitize-password[=SANITIZE-PASSWORD]. De forma predeterminada, las contraseñas son aleatorias. Especifique no para deshabilitar eso. Especifique cualquier otro valor para establecer todas las contraseñas en ese valor.

👉 Encuentra más sobre mí aquí: https://sergioguardiola.net 🔥

--

--

Sergio Guardiola Herrador
Sergio Guardiola Herrador

Written by Sergio Guardiola Herrador

I write articles in English and Spanish, mostly about programming, technology, travel, money, investing. You can find me here: https://sergioguardiola.net

No responses yet