1 de 16551 cargas no se migraron a S3. La migración a S3 falló para la base de datos 'default'

,

¡Ok, este problema ya se ha solucionado! Aquí explico cómo lo hice (con la inmensa ayuda de Artur de nuestro foro).

En to_s3_migration.rb, he cambiado esto:

count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
      if count > 0
        error_message =
          "#{count} de #{Upload.count} cargas no se han migrado a S3. #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

A esto:

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} cargas no se han migrado a S3. \nLista de IDs fallidos: \n#{failed_id_list}; #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Y luego, en la consola de Rails, simplemente eliminé la carga problemática. Ahora tengo un problema con

FileStore::ToS3MigrationError: 3 posts no se han reasignado a la nueva URL de carga de S3. La migración a S3 falló para la base de datos 'default'.

Pero creo que me he encontrado con un problema mayor: los activos, después de ser compilados, no se están subiendo al bucket de S3:

Obviamente debería haber una carpeta de activos, pero no hay ninguna. Esto es algo que me impide poner una CDN delante de todo, pero supongo que es otro problema, ¿para otro tema?

4 Me gusta

Para los archivos modificados:

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

a

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

¡Conseguí tres ID y luego fui a https://example.com/p/ID y lo eliminé de la interfaz de usuario. ¡Luego todo salió bien!

3 Me gusta

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