之前我的文件是上传到存储文件夹的,但是现在我想上传图片到s3 bucket,我怎样才能把我现有的本地数据迁移到s3 bucket呢?
我在这里找到了脚本https://www.stefanwienert.de/blog/2018/11/05/active-storage-migrate-between-providers-from-local-to-amazon/,但得到了错误
NoMethodError(为活动存储调用了私有方法'open
那么我应该怎么做才能把本地数据迁移到s3 bucket呢?
有更简单的方法吗?
6条答案
按热度按时间jdzmm42g1#
基于Dorian的回答,我构造了一个更简单的版本,对于这个版本,你不需要选择你的类或者知道/关心类中的方法是如何被调用的。
它 * 应该 * 也适用于
has_many_attached
(因为我们从附件本身开始)就像Dorian的版本一样,您需要在此之前添加s3的配置并进行部署
esbemjvw2#
嗨,我也得到了这个错误,我已经改变了脚本耙任务如下:
nwsw7zdq3#
一个更简单的工作方式:
amazon
部分到你的config/storage.yml
喜欢
config/environments/production.rb
中将存储服务更改为:amazon
lib/tasks/storage.rake
rake storage:reupload
进行尝试(并在config/environments/development.rb
中更改为config.active_storage.service = :amazon
)cap deploy
)RAILS_ENV=production bundle exec rake storage:reupload
优点
缺点
has_many_attached
,但不应进行太多更改image
(没有什么太难修复的)9ceoxa924#
yqhsw0fo5#
将本地文件迁移到s3-service的更简单方法是:
我想这个解决方案会有所帮助:How to sync new ActiveStorage mirrors?
ekqde3dh6#
基于RobbeVP的答案,我让它工作与以下任务: