I loaded db dump for my project.
Every Member has avatar_data (a shrine image) but i don’t have those images locally.
I want to clean up Members and remove all attachments and all images.
How to remove all images from models that has Shrine::AvatarAttachment?
My Member model has
<code>class Member < ApplicationRecord
include Member::AvatarUploader::Attachment(:avatar)
</code>
<code>class Member < ApplicationRecord
include Member::AvatarUploader::Attachment(:avatar)
</code>
class Member < ApplicationRecord
include Member::AvatarUploader::Attachment(:avatar)
So every member.avatar gives me this
<code>irb(main):084> m.avatar
=> #<Member::AvatarUploader::UploadedFile storage=:store id="member/672/avatar/3d482ea33c71f62e17b53b67a7cca73d.png" metadata={"size"=>1363403, "filename"=>"Screenshot 2024-06-08 at 12.35.39.png", "mime_type"=>"image/png"}>
</code>
<code>irb(main):084> m.avatar
=> #<Member::AvatarUploader::UploadedFile storage=:store id="member/672/avatar/3d482ea33c71f62e17b53b67a7cca73d.png" metadata={"size"=>1363403, "filename"=>"Screenshot 2024-06-08 at 12.35.39.png", "mime_type"=>"image/png"}>
</code>
irb(main):084> m.avatar
=> #<Member::AvatarUploader::UploadedFile storage=:store id="member/672/avatar/3d482ea33c71f62e17b53b67a7cca73d.png" metadata={"size"=>1363403, "filename"=>"Screenshot 2024-06-08 at 12.35.39.png", "mime_type"=>"image/png"}>
I tried
Member.update(avatar: nil)
but
<code>irb(main):089> m.update(avatar: nil)
TRANSACTION (0.2ms) BEGIN
Member Exists? (3.7ms) SELECT 1 AS one FROM "members" WHERE "members"."external_id" = $1 AND "members"."id" != $2 AND "members"."company_id" = $3 LIMIT $4 [["external_id", "1313"], ["id", 672], ["company_id", 1], ["LIMIT", 1]]
Member Exists? (0.4ms) SELECT 1 AS one FROM "members" WHERE "members"."external_id" = $1 AND "members"."id" != $2 AND "members"."company_id" = $3 LIMIT $4 [["external_id", "1313"], ["id", 672], ["company_id", 1], ["LIMIT", 1]]
TRANSACTION (0.7ms) ROLLBACK
/Users/kanvull/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/shrine-3.5.0/lib/shrine/attacher.rb:322:in `file!': no file is attached (Shrine::Error)
</code>
<code>irb(main):089> m.update(avatar: nil)
TRANSACTION (0.2ms) BEGIN
Member Exists? (3.7ms) SELECT 1 AS one FROM "members" WHERE "members"."external_id" = $1 AND "members"."id" != $2 AND "members"."company_id" = $3 LIMIT $4 [["external_id", "1313"], ["id", 672], ["company_id", 1], ["LIMIT", 1]]
Member Exists? (0.4ms) SELECT 1 AS one FROM "members" WHERE "members"."external_id" = $1 AND "members"."id" != $2 AND "members"."company_id" = $3 LIMIT $4 [["external_id", "1313"], ["id", 672], ["company_id", 1], ["LIMIT", 1]]
TRANSACTION (0.7ms) ROLLBACK
/Users/kanvull/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/shrine-3.5.0/lib/shrine/attacher.rb:322:in `file!': no file is attached (Shrine::Error)
</code>
irb(main):089> m.update(avatar: nil)
TRANSACTION (0.2ms) BEGIN
Member Exists? (3.7ms) SELECT 1 AS one FROM "members" WHERE "members"."external_id" = $1 AND "members"."id" != $2 AND "members"."company_id" = $3 LIMIT $4 [["external_id", "1313"], ["id", 672], ["company_id", 1], ["LIMIT", 1]]
Member Exists? (0.4ms) SELECT 1 AS one FROM "members" WHERE "members"."external_id" = $1 AND "members"."id" != $2 AND "members"."company_id" = $3 LIMIT $4 [["external_id", "1313"], ["id", 672], ["company_id", 1], ["LIMIT", 1]]
TRANSACTION (0.7ms) ROLLBACK
/Users/kanvull/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/shrine-3.5.0/lib/shrine/attacher.rb:322:in `file!': no file is attached (Shrine::Error)
there is no file it has to remove