Imagens não carregando após mesclar, mesmo quando o arquivo existe e o modelo de Upload também existe

Usei Merge two Discourse sites into one e funcionou na maior parte, mas as imagens do segundo site não estão aparecendo.

Posso fazer algo como isto:

p=Post.find_by(topic_id: 222435, post_number: 11)
short_url=p.raw.match(/(upload:\/\/.*?)\)/)[1]
up=Upload.sha1_from_short_url(short_url)

e up.url parece /uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg e cd /shared; ls uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg encontra o arquivo.

Mas https://host/uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg me dá um 404 do nginx.

Parece que se o Upload existe e o arquivo existe, então o NGINX seria legal e me deixaria tê-lo. O que estou perdendo?

Para algumas imagens, “resolvi” este problema colando o URL da imagem do site de teste, que então gera a imagem, que então é convertida em um upload (o mesmo upload que acabei de encontrar, pelo que posso dizer) e, em seguida, se eu reconstruir a postagem, ela terá a imagem.

Tentei fazer algo como

f=File.open('/shared/uploads/default/original/2X/9/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg')
upload = UploadCreator.new(f, 'upload.jpeg').create_for(-1)

para fazer a mesma coisa que colar o URL remoto da imagem, mas isso também não está funcionando.

Olá @RGJ. Você tem alguma dica de como fazer com que essas imagens que (parecem?) existir no banco de dados e no sistema de arquivos sejam renderizadas quando eu refizer o bake?

Eu odeio depurar esse tipo de erro.
Na maioria das vezes, eu apenas executo o código manualmente no controller em um console Rails.

Desta vez, acho que o 404 pode estar vindo da linha 111

O que Discourse.store.list_missing_uploads(skip_optimized: true) retorna para você?

1 curtida

É assim que somos iguais. Mas tenho certeza de que você é melhor nisso do que eu. Muito obrigado pelas suas dicas.

É o que estou tentando fazer.

Parece um bom palpite. Obrigado!

nil. skip_optimized: false – o mesmo.

Consegui corrigir os uploads de uma postagem, mas aparentemente não fiz anotações muito boas. :person_shrugging: Mas fiz várias coisas para chegar lá; tenho esperança de que seja possível, pelo menos.

1 curtida