Importando banco de dados antigo para a versão mais recente

Obrigado pela sua resposta, mas simplesmente remover as enquetes não é uma solução para registros duplicados. Presumo que em algum momento inicial a importação do phpbb3 foi incorreta e criou esses registros. Eles são válidos, apenas têm UUIDs duplicados, já que a importação original não verificou isso.

De qualquer forma, a solução para quem encontrar este problema é fazer o seguinte:

  1. Altere os registros problemáticos na tabela post_custom_fields para afastá-los. É melhor fazer isso em vez de esperar alguns minutos pela reconstrução apenas para ver outro erro.

update post_custom_fields set name = 'polls' where name = 'polls_bak';
update post_custom_fields set name = 'polls-votes' where name = 'polls-votes_bak';

  1. Execute a reconstrução do aplicativo, atualização ou o que quer que o usuário esteja tentando fazer.

  2. Conecte-se ao contêiner em execução ao vivo depois que tudo for construído e iniciado.

  3. Altere as enquetes de volta para a nomenclatura original:

update post_custom_fields set name = 'polls'_bak' where name = 'polls';
update post_custom_fields set name = 'polls-votes_bak'' where name = 'polls-votes';

  1. Execute a migração que causa o problema manualmente de dentro do contêiner do aplicativo, observe que VERSION é o número no nome do arquivo da migração

Primeiro desfaça a migração, isso não fará nada, pois o método down não faz nada no banco de dados:

rake db:migrate:down VERSION=20180820080623

Execute a migração e procure o primeiro erro:

rake db:migrate:up VERSION=20180820080623

  1. Pesquise na tabela usando alguma GUI de banco de dados para facilitar a edição do UUID que causa o problema:

select from post_custom_fields where value like '%your_UUID%';

  1. Agora a parte complicada. O UUID é o identificador da resposta/opção da enquete, então o que você tem que fazer é alterar esse UUID na linha poll, digamos de 731ef6901e968fc3f4e785fcb9e9abe8 para 731ef6901e968fc3f4e785fcb9e9abe9. É muito improvável que você encontre outro igual no seu sistema. Mas depois de fazer isso, você também precisa encontrar o correspondente em poll-votes e alterá-lo para o seu novo. Dessa forma, você não perderá nenhum voto ou resposta.

  2. Execute a migração novamente e procure o próximo erro:

rake db:migrate:up VERSION=20180820080623

  1. Repita este processo até que a migração seja concluída e você tenha todas as enquetes migradas para suas novas tabelas.

Estou decepcionado que ninguém se preocupou em responder e explicar o que é esse UUID e a que ele se refere. Eu sei que é open source e sei que se passaram anos desde que foi commitado, não estou reclamando, mas alguma assistência das pessoas que realmente fazem commits no repositório oficial seria muito apreciada.

O problema foi resolvido, então dias felizes.

Obrigado!