Case-sensitive para tablas MySQL en Windows o Mac

Si tienes varios entornos en el desarrollo para tu web/aplicación web, y entre ellos hay diferencia de sistemas operativos, el problema más común es al tratar con servidores Linux. Las tablas MySQL creadas en este sistema son Case-sensitive, por lo que el nombre es igual que el que se ha dado en la comanda CREATE TABLE. En cambio, en Windows o Mac, el nombre de la tabla es pasado a minúsculas antes de insertarla, también haciendo comparaciones case-insensitive. Para compatibilizar los sitemas y olvidarse de errores en nomenclaturas, la solución:

  • Accede al fichero My.INI alojado en drive:…mysqlbin en Windows o /etc/ en Mac.
  • Añade después de [mysqld] la siguiente directiva lower_case_table_names= 0
  • Reinicia el servicio

A partir de ahora la creación y modificación de tablas será case-sensitive al igual que en Linux. No olvidemos que esto es una buena práctica, ya que nos compatibiliza sistemas, ahorrando muchos fallos y dolores de cabeza.

Referencia:

http://dev.mysql.com/doc/refman/5.0/es/name-case-sensitivity.html