No olvides que en las ciencias un problema casi siempre tiene más de una soluciones, por lo tanto nosotros mostraremos lo más óptimo y eficiente.
Solución:
Puede utilizar ALTER VIEW junto con el esquema de información. Mencionaste descargarlo en un archivo de texto, así que tal vez algo como esto:
SELECT CONCAT("ALTER DEFINER=`youruser`@`host` VIEW `",table_name,"` AS ", view_definition,";")
FROM information_schema.views WHERE table_schema='databasename'
Mezcle esto con la línea de comando mysql (suponiendo que * nix, no esté familiarizado con Windows):
> echo "*abovequery*" | mysql -uuser -p > alterView.sql
> mysql -uuser -p databasename < alterView.sql
Nota al margen: no puede modificar las entradas de information_schema directamente. Nota 2: Esto funciona solo para una base de datos a la vez, si deja WHERE table_schema necesita insertar comandos USE entre cada uno.
Cree un archivo de texto con todas las definiciones de vista:
mysql -uusername -ppassword -A --skip-column-names -e"SELECT CONCAT('SHOW CREATE VIEW ',table_schema,'.',table_name,'\G') FROM information_schema.tables WHERE engine IS NULL" | mysql -uusername -ppassword -A --skip-column-names > AllMyViews.sql
Edita AllMyViews.sql desde allí. Luego, suelte las vistas
mysql -uusername -ppassword -A --skip-column-names -e"SELECT CONCAT('DROP VIEW ',table_schema,'.',table_name,';') FROM information_schema.tables WHERE engine IS NULL" | mysql -uusername -ppassword -A
Después de editar AllMyViews.sql recargarlos
mysql -uusername -ppassword -A < AllMyViews.sql
Darle una oportunidad !!!
Exportar todas las vistas de la base de datos
:
mysql -BNe "SELECT TABLE_NAME FROM TABLES WHERE TABLE_SCHEMA = '' AND TABLE_TYPE = 'VIEW'"
information_schema | xargs mysqldump --single-transaction --no-data >views.sql
o:
mysql -BNe "SELECT TABLE_NAME FROM VIEWS WHERE TABLE_SCHEMA = ''"
information_schema | xargs mysqldump --single-transaction --no-data >views.sql
Editar views.sql
(cambiar definidor) y recrearlos:
cat views.sql | mysql
Especificar -u
y -p
interruptores si es necesario.
Comentarios y valoraciones de la guía
Si sostienes algún contratiempo y capacidad de acrecentar nuestro escrito puedes realizar una referencia y con mucho gusto lo leeremos.