Erro ao atualizar OJS de 3.2.1-4 para 3.3.0-5

Estou obtendo o seguinte erro ao tentar atualizar o OJS da versão 3.2.1-4 para 3.3.0-5:

Ocorreu um erro de banco de dados: SQLSTATE[HY000]: General error: 1005 Can’t create table redibec_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))

1 curtida

Olá @diegojesus86,

as atualizações do OJS podem dá pouco de trabalho, pois como o software é multiplataforma e problemas diferentes podem ocorrer.

Nunca enfrentei este problema na atualização. Porém , este erro está relacionado com a violação de chave estrangeira, basicamente não existe uma FK (submission_file_id) na tabela submission_file_revisions.

No fórum do PKP já tem uma discussão sobre isso. Sugiro que olhe em todo o tópico e veja as soluções que foram indicadas:

Lembre-se:

  • realizar as atualizações em um ambiente de teste/homologação;
  • toda vez que encontrar um erro na atualização no banco, você deverá voltar o backup anterior, analisar e corrigir o problema e realizar novamente o processo de atualização.

at.te,
@diegojmacedo

2 curtidas

Ótimo, consegui resolver, apenas mudei no PHPMyAdmin na tabela submission_files o tipo de MyISAM para InnoDB

2 curtidas

Sua dica foi essencial @diegojmacedo, valeu!

1 curtida

Bom que deu certo, @diegojesus86 :grinning:

2 curtidas

Pessoal,
só complementando o post, de acordo com as informações apresentadas no fórum do PKP, que tratam deste problema, seguem mais algumas considerações.

Para o OJS 3.3.x, todas as tabelas do banco de dados precisam ser do tipo InnoDB, não MyISAM. Você precisará revisar suas tabelas em seu banco de dados do OJS 3.x e garantir que este seja o caso e, em seguida, certifique-se de que o mecanismo de armazenamento padrão para MySQL é InnoDB. Você também precisará certificar-se de que o usuário do banco de dados possui o privilégio REFERENCES.

2 curtidas

thanks for the awesome information.

1 curtida

thanks my issue has been fixed.

1 curtida