Error de actualización a OJS 3.3.0-3

Actualmente tengo OJS 3.2.1-4 ahora quiero actualizar a OJS 3.3.0-3,

ejecuté:
php tools/phpupgrade.php upgrade

y al finalizar la actualización me aparece el siguiente error:
ERROR: Upgrade failed: DB: SQLSTATE[HY000]: General error: 1005 Can’t create table ojs.submission_file_revisions (errno: 150 “Foreign key constraint is incorrectly formed”) (SQL: alter table submission_file_revisions add constraint submission_file_revisions_submission_file_id_foreign foreign key (submission_file_id) references submission_files (submission_file_id))

y cuando abro la página desde en navegador me aparece el siguiente error

imagen

normalmente no había tenido tanto problema al actualizar pero subir a la version 3.3* ha sido un dolor de cabeza llevo casi tres semanas intentando y haciendo diferentes pruebas.

Application Version - e.g., OJS 3.3.0:

Hola @JoseCandido ,
Las tablas del OJS deben ser del del tipo InnoDB, si tienes Myisam no vas a poder migrar. Tienes que cambiar todo a InnoDB y ya no tendrás problemas de Foreing Key.
saludos!

Muchas gracias las he aplicado, pero ahora me marca el siguiente error

ERROR: Upgrade failed: DB: PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘url’ in ‘field list’ in /var/www/html/ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:78

Si ya intentaste y te falló la primera vez, si intentas nuevamente ya no te va a dejar, tienes que volver a cargar la base de datos, modificarla a InnoDB e intentarle de nuevo otra vez.

Si, de hecho he restablecido la base de datos en varias ocasiones,
hago el cambio a InnoDB reviso que todas las tablas tengan esa configuración, posteriormente, ejecuto la actualización y siempre llega al mismo error.

Actualmente tengo la versión 3.2.1.4.

He intentado actualizar a la
3.3.0.0,
3.2.1-4
3.3.0-3
3.3.0-4
3.3.0-5
3.3.0-6

y todas llegan al mismo error de echo la 3.3.0.6 marcar otros errores

Fue tedioso, pero al final logré aplicar la actualización, comparto lo que realicé

  1. Cargar nuevamente la base de datos.

  2. Pasar cada tabla de MyISAM a InnoDB, por ejemplo :
    ALTER TABLE access_keys ENGINE=InnoDB;

  3. Hacer que cada tabla trabaje con utf8_general_ci, por ejemplo:
    ALTER TABLE access_keys COLLATE=utf8_general_ci;

  4. Ejecute nuevamente la actualización y ¡listo!

2 Likes

Estimado, tengo una consulta hemos actualizado a la versión 3.3.0.6 de OJS pero a la hora de asignar DOI me obliga a que el número a publicar tengan valores positivos en la información del número. Es decir que es obligatorio poner un número positivo aunque no tenga volumen la publicación. Ya que si ingreso CERO o lo dejo vacío no me permite asignar un DOI.

Hola buen día,

Has intentado configurar la asignación del DOI desde el módulo de plugins, considero que tu problema puede resolverse desde esa parte…

imagen