MySQL – Exportando procedimientos almacenados al servidor de hospedaje
El asunto es que, cuando utilizas MySQLDump para generar un fichero .sql con intención de subirlo al servidor, MySQLDump no exporta la creación de funciones y procedimientos almacenados.
He accedido al CPanel y he autorizado conexiones al Servidor de MySQL desde mi IP. Luego he arrancado el MySQLQueryBrowser abriendo una conexión local, he pulsado sobre mi Procedimiento Almacenado, he pulsado F2, he sombreado, he copiado … he abierto otra conexión pero esta vez hacia el servidor de hospedaje, he seleccionado la base de datos, he pulsado para crear un nuevo procedimiento almacenado, y he pegado.
Consideraciones, acordarse de que seguramente la base de datos en el servidor de hospedaje tiene otro nombre diferente, suelen tener como prefijo tu nombre de usuario en ese sistema. Y acordarse de quitar el «definer» de la declaración porque lógicmente ese usuario tampoco existe allí. Yo he preferido quitarlo, y que el servicio le asigne el usuario que considere oportuno.
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_getExpresion`(prmYearWeek varchar(6))
phpMyAdmin es super completo, super estable, … pero es vía web, es como más incómodo, y ahora que tenemos el MySQLQueryBrowser -libre y ligero, no como el front-end de Toad– pues a mi me resulta preferible, antes incluso conectaba directamente con la consola de mysql pero claro, una cosa es escribir consultas sueltas de DDL y otra es escribirse un procedimiento con la consola.