Como despejo esquemas de visualização para um banco de dados MySQL?

3

Eu tenho um banco de dados MySQL para o qual desejo despejar esquemas para views. Como eu faço isso? Eu tentei o mysqldump com --no-data, mas isso apenas despeja esquemas de tabelas.

    
por Chad Johnson 17.08.2011 / 20:52

4 respostas

6

Eu acho que você pode estar passando algumas outras opções para o mysqldump, ou usando uma versão do mysqldump que não entende views (talvez seja muito antigo). Quando eu executo o mysqldump --no-data, ele despeja as definições da view. Veja o abaixo:

/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER='root'@'localhost' SQL SECURITY DEFINER */
/*!50001 VIEW 't' AS select 1 AS '1' */;
    
por 17.08.2011 / 21:17
4

Use a opção - opt ao fazer o despejo :

mysqldump -hserver -uUser -ppasswd -no-data --opt export > export.sql
    
por 28.11.2012 / 15:02
2

O mysqldump não terá nenhuma opção para descarregar somente em views.O comando abaixo irá ajudá-lo a fazer o backup de apenas views.

mysql -uroot -pPassword INFORMATION_SCHEMA --skip-column-names -e "seleciona table_name das tabelas em que table_type = 'VIEW' e table_schema = 'sakila'" | xargs mysqldump -u root -pPassword sakila > only_views.sql

    
por 09.05.2016 / 08:37
0

As outras respostas não, mas isso funcionou para mim ...

mysqldump --skip-comments --skip-opt --complete-insert --add-drop-table --database dbname -p
    
por 03.03.2013 / 02:08