Rails 迁移抱怨 "add_attachment"

Rails migrations complains about "add_attachment"

这不是以下内容的副本:Rails migration complains about undefined method `attachment' using paperclip

所以我们使用了 paperclip 现在已经切换到 activestorage 但我们的一些旧迁移正在使用来自 paperclip 的 add_attachment 这使得 rails 抱怨这个错误消息因为我们没有 paperclip在 gemfile 中:

undefined method 'add_attachment' for #<AddAvatarColumnsToUsers:0x00007fafa90de890>

我应该保留回形针安装还是应该删除触摸迁移?处理这个问题的正确方法是什么?任何帮助都会很棒!!

通常不需要旧迁移,只要它们是模式的一部分并且已部署到所有生产实例并且数据库模式足够稳定。您可以安全地删除它们。

paperclip add_attachment 为每个附件创建四个字段,因此要解决此问题,您可以删除回形针 gem,删除旧的迁移,然后创建一个新的删除 gem 添加的字段=18=]

"add_attachment :users, :photo" 在用户 table 中创建四个字段 photo_file_name photo_content_type photo_file_size photo_uploaded_at

删除使用 remove_attachment 的旧迁移后,您可以创建一个新迁移:

remove_column:用户,:photo_file_name remove_column:用户,:photo_content_type remove_column:用户,:photo_file_size remove_column:用户,:photo_file_name