1 von 16551 Uploads wurden nicht nach S3 migriert. S3-Migration fehlgeschlagen für die DB 'default'.

,

Ok, dieses Problem wurde nun behoben! Hier ist, wie ich es gemacht habe (mit immenser Hilfe von Artur aus unserem Forum)

In to_s3_migration.rb habe ich Folgendes geändert:

count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
      if count > 0
        error_message =
          "#{count} von #{Upload.count} Uploads sind nicht nach S3 migriert. #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Zu diesem:

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} von #{Upload.count} Uploads sind nicht nach S3 migriert. \n Liste der fehlgeschlagenen IDs: \n #{failed_id_list}; #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Und dann im Rails-Konsolen-Modus einfach den problematischen Upload zerstört. Jetzt habe ich ein Problem mit

FileStore::ToS3MigrationError: 3 Beiträge wurden nicht auf die neue S3-Upload-URL umgemappt. S3-Migration fehlgeschlagen für DB 'default'.

Aber ich glaube, ich bin auf ein größeres Problem gestoßen – Assets werden nach der Kompilierung nicht in den S3-Bucket hochgeladen:

Es sollte offensichtlich einen Asset-Ordner geben, aber es gibt keinen. Das hindert mich daran, ein CDN davor zu schalten, aber das ist wohl ein anderes Problem, für ein anderes Thema?

4 „Gefällt mir“

Für geänderte Dateien:

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} Beiträge wurden nicht auf die neue S3-Upload-URL umgestellt. \n Liste der fehlerhaften Beiträge: \n #{id_list} \n #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

zu

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} Beiträge wurden nicht auf die neue S3-Upload-URL umgestellt. \n Liste der fehlerhaften Beiträge: \n #{failed_id_list} \n #{failure_message}"
        raise_or_log(error_message, should_raise)
        success = false
      end

Ich habe drei IDs erhalten und bin dann zu https://example.com/p/ID gegangen und habe sie aus der Benutzeroberfläche gelöscht. Danach lief es reibungslos!

3 „Gefällt mir“

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