Dump de stored procedures no MySQL

Por padrão, ao utilizar o comando mysqldump para gerar dump de um banco de dados, as rotinas ou stored procedures, não são geradas no dump. Isso pode ser um problema, pois ao utilizar o comando mysqldump temos em mente que toda a estrutura e todos os dados do banco de dados estão sendo enviados para o dump. Acabei descobrindo isso por acaso, após migrar um banco de dados, o desenvolvedor recalmou que a procedure dele não existia mais no banco de dados novo.

Para que as stored procedures sejam enviadas para o dump, você deve passar o parâmetro –routines para o mysqldump. Por exemplo:

# mysqldump --routines nome-banco

PS: Só lembrando um detalhe, as triggers são geradas no dump por padrão.

Caso você deseje gerar no dump somente das stored procedures do seu banco de dados, como foi o que aconteceu no meu caso, pois na minha migração faltou somente as procedures, use o comando abaixo:

# mysqldump --triggers=false --routines --no-create-info --no-data --no-create-db nome-banco > rotinas.sql

O arquivo rotinas.sql vai conter somente as stored procedures do seu banco de dados nome-banco. É só importá-las no banco de destino.

Please follow and like us:

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: