Relanzar 4.2 utb8mb4 databse upgrade

11

Actualicé WP a 4.2 cuando estaba en un servidor antiguo, que no coincide con requisitos de actualización de utf8mb4 .

Me mudé a otro servidor que cumple con estos requisitos, pero WP ya no iniciará esta actualización de la base de datos: /wp-admin/upgrade.php dice Your WordPress database is already up-to-date . Intenté configurar mi tabla wp_post en utf8mb4 manualmente, pero todos mis caracteres especiales se convirtieron en " ".

¿Alguna forma de forzar el lanzamiento del maybe_convert_table_to_utf8mb4 en una actualización simple, sin perder todos mis caracteres especiales?

¡Gracias!

    
pregunta Joan 20.07.2015 - 17:24

3 respuestas

3

Creo que la respuesta a tu pregunta en este momento es "No".

No hay una manera fácil de activar maybe_convert_table_to_utf8mb4 en los sitios una vez que ya se actualizaron más allá del WP 4.3 en un servidor que no cumplía con los requisitos establecidos en esta publicación:

enlace

Tenga en cuenta que, basándose en el código fuente de WP, parece que movieron esto de la secuencia de actualización de 4.2 a 4.3 (ya no está presente en 4.2, que ahora no tiene actualizaciones), tal vez con la esperanza de obtener más usuarios a bordo.

Esa es tu respuesta y apesta, pero es más precisa que las otras ¯_ (ツ) _ / ¯

Actualmente estamos trabajando para crear un script simple que le permita activar la esencia de la secuencia de actualización basada en un gancho de acción. Si podemos mantenerlo estable y funcionando, intentaremos regresar y compartirlo aquí para que otros lo usen.

Nuestro plan básico es extraer la parte real de db de upgrade_430() , aislarla del sistema de actualización de db y activarlo manualmente.

EDITAR: SOLUCIÓN ABAJO

Si bien no hay una manera fácil de activar el script, aquí hay una solución codificada a mano, basada en upgrade_430() pero diseñada como un drop-in.

enlace

Puedes poner esto en un complemento, o simplemente pegarlo en tus funciones.php. De cualquier manera debe ser TEMPORAL.

Está configurado para activarse automáticamente cuando visitas https://yoursite.com/?update-utf8bm4=1

Esto garantiza que solo se ejecute una vez y que puedas elegir cuándo (para las grandes bases de datos puede llevarte un tiempo y no quieres que nadie edite una publicación mientras está sucediendo).

Si no desea que el desencadenador GET, simplemente elimine la parte add_action y la parte if (!isset($_GET['update-utf8bm4'])) .

Nuevamente: ELIMINAR ESTO CUANDO COMPLETE, no querrás dejar un disparador GET como este por ahí :)

    
respondido por el jerclarke 03.11.2016 - 20:15
2

Por supuesto, si no hace falta decirlo, haga una copia de seguridad de la base de datos antes de intentar cualquier cosa, pero trabajaría con la versión original de la base de datos; probaría dos cosas: reparación y mantenimiento de la base de datos de WordPress y phpMyAdmin's optimiza tablas:

Esto vino de esta página, que tiene mucha información Base de conocimientos de WP , pero comienza agregando esta línea a wp-config.php de su sitio:

define('WP_ALLOW_REPAIR', true);

luego vaya a enlace

Debería ver una página con dos opciones: 'Reparar base de datos' y 'Reparar y optimizar base de datos'.

Haga clic en 'Reparar y optimizar la base de datos' y deje que el script se ejecute. Una vez que se hayan ejecutado correctamente, recibirá mensajes de actualización que le permitirán conocer el estado de varias tablas.

Tan pronto como se haya ejecutado, muy importante , elimine la línea wp_allow_repair que acaba de agregar a wp-config.php, elimínela del archivo wp-config.php.

Si eso no funciona, puedes probar la optimización de la tabla de phpMyAdmin, pero si WordPress no te ayudó, eso tampoco. Lo intentaría en la misma versión de la base de datos en la que ejecutó la última reparación.

Vaya a phpMyAdmin, seleccione su base de datos, desplácese hasta la parte inferior de la página, marque 'Verificar todo' para seleccionar todas las tablas de la base de datos, luego seleccione "Optimizar tabla" en el menú de selección que se encuentra al lado. Eso es todo, se iniciará automáticamente.

Aquí hay más detalles y capturas de pantalla: WPMUDev

Si esos dos pasos no funcionan, solos o juntos, puede intentar usar otra copia de su base de datos de respaldo para ejecutarlos en orden inverso ... ¡Buena suerte!

    
respondido por el Vanessa King 25.09.2015 - 02:29
0

¿Ha intentado cambiar la tabla de la base de datos Intercalación? Por favor, intente esto:

Inicia sesión en phpmyadmin > seleccione su base de datos > Operaciones > ahora cambie la clasificación de la lista desplegable a "utf8mb4_unicode_ci" o cambie a lo que se usó en su antiguo servidor.

Espero que funcione para ti.

vea la captura de pantalla: enlace

Recuerde: si exporta un archivo sql desde su antiguo servidor a su PC y lo abre con cualquier editor de texto ... y personalice y guarde ... luego, verifique que cuando guarde el archivo sql, el editor de texto "Codificación" es Utf-8 .. vea mi captura de pantalla: enlace

Gracias

    
respondido por el NoDiv_NoClass 21.09.2015 - 06:31

Lea otras preguntas en las etiquetas