Пересборка старых постов не подтянет новый URL S3 CDN после переименования S3-бакета

О, отличная новость. Пока я изучал, как найти записи о загрузках, я наткнулся на этот пост, который показал, как преобразовать строку base62 в хеш sha1.

В нём упоминалось, что изображения, отображающие только transparent.png, были «похоронены» (tombstoned). Я не до конца понимаю, что это значит, но предполагаю, что какой-то процесс запустился ночью, когда изображения были повреждены, и пометил их как неиспользуемые. Мне удалось выполнить:

rake uploads:recover_from_tombstone

и, похоже, все мои встроенные изображения вернулись и теперь указывают на мой S3 CDN!

Кстати, вот как я нашёл запись о загрузке, начиная со строки yTDVQSa4wbIeLGEZvE7muXe8sAJ.

[14] pry(main)> Base62.decode("yTDVQSa4wbIeLGEZvE7muXe8sAJ").to_s(16)
=> "f49428d6af35d7e0414408ccb65e7316f5003215"
[15] pry(main)> Upload.where( "original_filename ilike '%f49428d6af35d7e0414408ccb65e7316f5003215%'" )
=> [#<Upload:0x000056313aa91fe8
  id: 899,
  user_id: 549,
  original_filename: "f49428d6af35d7e0414408ccb65e7316f5003215.png",
  filesize: 25514,
  width: 1169,
  height: 984,
  url: "//ortus-discourse-uploads.s3.dualstack.us-west-2.amazonaws.com/original/1X/f49428d6af35d7e0414408ccb65e7316f5003215.png",
  created_at: Tue, 12 Jan 2021 23:01:35 UTC +00:00,
  updated_at: Tue, 12 Jan 2021 23:01:36 UTC +00:00,
  sha1: "f49428d6af35d7e0414408ccb65e7316f5003215",
  origin: nil,
  retain_hours: nil,
  extension: "png",
  thumbnail_width: 594,
  thumbnail_height: 500,
  etag: "6977f35ddbf39a4399dc76f92a5079d4",
  secure: false,
  access_control_post_id: nil,
  original_sha1: nil,
  animated: nil,
  verification_status: 1>]

Ещё раз спасибо за вашу помощь, @Falco! Я новичок в Discourse, но вы оказались очень терпеливым и отзывчивым :+1: