Ещё 15 дней назад эта команда работала безупречно.
Сегодня она выдаёт следующую ошибку:
Checking if default already migrated...
7 of 14 uploads are not migrated to S3. S3 migration failed for db 'default'.
1 posts are not remapped to new S3 upload URL. S3 migration failed for db 'default'.
Looking for missing uploads on: default
0 post uploads are missing.
No posts require rebaking
Migrating uploads to S3 for 'default'...
Some uploads were not migrated to the new scheme. Please run these commands in the rails console
SiteSetting.migrate_to_new_scheme = true
Jobs::MigrateUploadScheme.new.execute(nil)
Я также выполнил эти две команды в консоли Rails, но они, похоже, не принесли никакой пользы:
У меня была похожая проблема. Дело было в том, что путь к загруженным файлам не соответствовал тому, что ожидает этот тест (например, в пути чего-то отсутствовало слово ‘default’).
Что я сделал (в общих и, вероятно, не очень полезных терминах), так это посмотрел, как поиск находит эти загруженные файлы, которые считает ошибочными, и исправил их.
Мне удалось решить это случайно, и я до сих пор не уверен, как именно это произошло.
Я несколько раз менял команду, в основном добавляя или удаляя слово «dualstack» в самой команде и в поле URL CDN в настройках Discourse: https://bxyzbucket1.s3.dualstack.ap-south-1.amazonaws.com. Но это всё равно не помогало. Затем я снова случайно ввёл те же две команды (упомянутые в оригинальном посте) в консоли Rails.
И ещё один шаг, который я сделал случайно в это время, — добавил слово /uploads к имени бакета в команде.
И «случайно» (мне нужно ещё одно слово для обозначения случайности ) у меня получилось.
Так что я не могу сказать, кто именно стал героем этого решения.
В любом случае, спасибо за внимание.
Какая бы ошибка ни возникала или ни отображалась, я уже указал её в своём первоначальном сообщении. Но я согласен, что эта ошибка/сообщение не очень помогли в диагностике.
Увы, сегодня снова, поскольку я не мог понять проблему при миграции, я создал 1 загрузку локально. Затем попытался перенести её обратно в S3 с помощью этой команды:
Хотя одна новая загрузка и была перенесена в S3, но с этой ошибкой:
1 из 14 загрузок не перенесены в S3. Миграция в S3 не удалась для БД 'default'.
1 пост не переотображён на новый URL загрузки S3. Миграция в S3 не удалась для БД 'default'.
Что означает эта ошибка? Может ли она вызвать проблемы, если нужно перенести тысячи изображений из ‘Локальное хранилище >> S3’? @vinothkannans
Ошибка по-прежнему возникает: «S3 migration failed for db ‘default’».
Хотя загруженные посты и изображения отображаются корректно в моём бакете и на сайте, логотипы сайта и другие элементы (в разделе «Настройки администратора» > «Брендинг») отсутствуют, и я даже не могу обновить их новыми. Они остаются пустыми.
Я также выполнил (без ошибок): rake posts:rebake_uncooked_posts и rake posts:rebake.