Estou tentando localizar e substituir algumas imagens quebradas remanescentes da nossa migração do fórum para o Discourse e tive grande sucesso (adoro o comando remap!), mas ele não está encontrando nada para substituir nestes exemplos e não consigo ver nada de errado. Você consegue?
Preciso fazer isso em duas etapas, pois preciso manter o conteúdo da tag alt e reconstruir o elemento img ao redor dele. Está falhando no primeiro remap:
ou seja, ENCONTRAR: <img src="https://londonbikers.com/images/transparent.png" alt="
e SUBSTITUIR por: <img src="https://londonbikersarchive.blob.core.windows.net/forum-attachments/
Assumi que as aspas duplas precisam ser escapadas com uma barra invertida? Então usei este comando:
Ah, espere, algumas dessas imagens estão funcionando. É a funcionalidade de anexos do Discourse? Existe alguma lógica de renderização personalizada em vez de serem strings HTML no banco de dados?
Mas esta aqui não. Posso ter o arquivo no armazenamento de blobs na nuvem, então gostaria de importá-lo para o Discourse ou apenas referenciá-lo a partir do armazenamento de blobs:
raw é o campo onde está o texto que você vê no editor. O que você está substituindo é o que você vê ao editar a postagem na interface, certo? (cooked é o conteúdo processado e o que é exibido.)
Fazendo coisas para reescrever as postagens. Isso pode ser apenas o suficiente para torná-lo perigoso:
bps = Post.where("raw like '%//SOME-STRING%'")
bps.each do |post|
post.raw.gsub!(/OLD/,'NEW')
post.save
end
A vantagem em relação à tarefa rake é que você não precisa lidar com múltiplos níveis de escape.