Querido desarrollador de plug-ins: no trastees con mis tablas (¡gracias!)

(Le “robo”/traduzco la entrada a Jordi Cabot de (entre otras cosas) migratetowp.com, un servicio de migración de contenidos de Drupal a WordPress. Como siempre, a poder ser mejor leer el original, pero por si el inglés se os atraganta mucho, aquí tenéis.)

Cada vez que un desarrollador de plug-ins modifica una de las tablas principales de WordPress muere un gatito. Un conjunto no estándar de tablas centrales de WP (por ‘principales’ me refiero a las que WordPress crea durante la instalación) es una de las mejores recetas para tener problemas (al actualizar el sitio, al trasladar a un nuevo servidor, al importar datos…).

Increíblemente, más a menudo de lo que uno creería, los desarrolladores olvidan esta regla básica para el desarrollo de plug-ins (probablemente debido a que hacerlo les simplifica la vida) y perpetran este horrible acto.

Si eres desarrollador de plug-ins, por favor, sigue las siguientes reglas en todo lo referente a la interacción con mi base de datos de WP (en orden creciente de importancia, trata de llegar lo más lejos que puedas para asegurarte de que tu plug-in contamina lo menos posible la base de datos):

Regla 1
Ni elimines ni modifiques ningún aspecto de una columna existente
Regla 2
No añadas nuevas columnas a las tablas existentes
Regla 3
Si agregas nuevas columnas asegúrate de que puedan tener valor NULL (preferentemente) o por lo menos un valor por defecto (no hace falta decir que si no lo haces todo el código de inserción de nuevos datos en la tabla se colgará nada más empezar)
Regla 4
Reduce al mínimo el número de tablas nuevas a añadir a la base de datos (cada tabla implica trabajo extra para las copias de seguridad, optimización y demás procesos del sistema). No crees claves foráneas entre ktus tablas y las centrales (de hecho, a mí me encantan las claves foráneas y creo que son la mejor manera de comprobar algunas de las posibles inconsistencias en los datos, pero si, como pasa ahora, WP no sigue esa estrategia, simplemente alíneate con ello).
Regla 5
Asegúrate de que el nombre de las tablas utiliza el mismo prefijo definido por el usuario para las tablas centrales de WP (para que al menos se pueden identificar rápidamente que son parte del sitio WP).

(Por supuesto, también hay una regla 0: no tocar mi base de datos en absoluto, pero ya sé, eso es mucho pedir …)

Nosotros (los usuarios de WordPress, desarrolladores, diseñadores, …) realmente apreciamos tu consideración.

Deja un comentario