1 di 16551 caricamenti non sono stati migrati a S3. La migrazione S3 è fallita per il database 'default'

,

Ok, questo problema è stato risolto! Ecco come ho fatto (con l’immenso aiuto di Artur dal nostro forum)

In to_s3_migration.rb, ho cambiato questo:

count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
      if count > 0
        error_message =
          "#{count} di #{Upload.count} upload non sono stati migrati su S3. #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

In questo:

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} di #{Upload.count} upload non sono stati migrati su S3. \n Elenco degli ID non riusciti: \n #{failed_id_list}; #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

E poi nella console di Rails ho semplicemente eliminato l’upload problematico. Ora ho un problema con

FileStore::ToS3MigrationError: 3 post non sono stati rimappati al nuovo URL di upload S3. Migrazione S3 fallita per db 'default'.

Ma penso di aver riscontrato un problema più grande: gli asset, dopo la compilazione, non vengono caricati nel bucket S3:

Ovviamente dovrebbe esserci una cartella asset ma non ce n’è nessuna. Questo è qualcosa che mi impedisce di mettere una CDN davanti a tutto, ma immagino che sia un altro problema, per un altro argomento?

4 Mi Piace

Per i file modificati:

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} post non sono stati rimappati al nuovo URL di caricamento S3. \n Elenco dei post non riusciti: \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} post non sono stati rimappati al nuovo URL di caricamento S3. \n Elenco dei post non riusciti: \n #{failed_id_list} \n #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Ho ottenuto tre ID e poi sono andato su https://example.com/p/ID e l’ho eliminato dall’interfaccia utente. Poi è andato tutto liscio!

3 Mi Piace

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