Volver al Blog

Las Palabras Reservadas de MySQL Casi Me Arruinan el Fin de Semana

· 1 min de lectura

Imagínate esto: exportas un dump de MySQL, intentas importarlo en otro servidor, y explota. ¿Por qué? Porque alguien (yo, hace años) le puso status a una columna. O order. O key. Ya sabes, palabras que MySQL decidió que son sagradas.

La solución es simple — envolver esos nombres de columnas en backticks. La parte molesta es hacerlo manualmente en un archivo de dump de 500MB. No gracias.

Así que construí clean-sql. Le apuntas a un archivo de dump SQL, encuentra las palabras reservadas usadas como nombres de columnas en sentencias INSERT...SET, las envuelve en backticks, y guarda el archivo. Eso es todo. Nada fancy.

¿Pude haber escrito un one-liner con sed? Tal vez. ¿Hubiera funcionado con los edge cases? Absolutamente no. Llevo programando desde 1988, sé que no debo confiar en regex con SQL.

Lo hice en Go. Corre en segundos incluso en archivos enormes.

Repo en GitHub