1 de 16551 uploads não foram migrados para S3. Falha na migração S3 para o banco de dados 'default'

,

Ok, então este problema foi corrigido! Veja como eu fiz (com a ajuda imensa de Artur do nosso fórum)

Em to_s3_migration.rb, eu mudei isto:

count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
      if count > 0
        error_message =
          "#{count} de #{Upload.count} uploads não foram migrados para S3. #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Para isto:

count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
      if count > 0
        failed_uploads = Upload.by_users.where("url NOT LIKE '#{base_url}%'")
        failed_ids = failed_uploads.map(&:id)
        failed_id_list = failed_ids.join(", ")
        error_message =
          "#{count} de #{Upload.count} uploads não foram migrados para S3. \n Lista de IDs falhados: \n #{failed_id_list}; #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

E então, no console do Rails, apenas destruí o upload problemático. Agora tenho um problema com

FileStore::ToS3MigrationError: 3 posts não foram remapeados para o novo URL de upload S3. A migração S3 falhou para o banco de dados 'default'.

Mas acho que encontrei um problema maior - os assets, após a compilação, não estão sendo carregados no bucket S3:

Obviamente deveria haver uma pasta de assets, mas não há nenhuma. Isso está me impedindo de colocar o CDN na frente de tudo, mas acho que isso é outro problema, para outro tópico?

4 curtidas

Para arquivos alterados:

count = Post.where("cooked LIKE '%#{cdn_path}%'").count
      if count > 0
        failed_posts = Post.where("cooked LIKE '%#{cdn_path}%'")
        id_list = failed_posts.map(&:id).join(", ")
        error_message = "#{count} posts are not remapped to new S3 upload URL. \n List of failing posts: \n #{id_list} \n #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

para

count = Post.where("cooked LIKE '%#{cdn_path}%'").count
      if count > 0
        failed_posts = Post.where("cooked LIKE '%#{cdn_path}%'")
        failed_ids = failed_posts.map(&:id).join(", ")
        failed_id_list = failed_ids.join(", ")
        error_message = "#{count} posts are not remapped to new S3 upload URL. \n List of failing posts: \n #{failed_id_list} \n #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Consegui três IDs e depois fui para https://example.com/p/ID e o deletei da interface. Depois, tudo correu bem!

3 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.