Я изменил S3-бакет для своего сайта и скопировал все ресурсы в новый. Всё осталось прежним, я также убедился, что все файлы как минимум доступны для публичного чтения:
for i in $(cat files.txt | awk '{print $4}'); do aws --profile gb_root s3api put-object-acl --bucket gb-www-forum --key $i --acl public-read ; done;
Однако некоторые URL-адреса и изображения, на которые есть ссылки, всё ещё используют имя старого бакета.
Например, URL логотипа установлен как:
Это был старый бакет, и все ссылки должны указывать на имя нового бакета.
Что я уже пробовал:
Пересборка (Rebake)
cd /var/discourse
./launcher enter app
rake posts:rebake
Это выполнилось успешно, но ничего не изменило.
Переназначение (Remap) — не удалось выполнить
Упоминалось переназначение, но я не могу разобраться, как это сделать правильно.
root@forum-app:/var/www/discourse# rake --tasks | grep remap
rake posts:remap[find,replace,type,ignore_case] # Remap all posts matching specific string
root@forum-app:/var/www/discourse# rake posts:remap["geek-beacon-www-forum", "gb-www-forum", "string", false]
rake aborted!
Don't know how to build task 'posts:remap[geek-beacon-www-forum,' (See the list of available tasks with `rake --tasks`)
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)