私はSpacePhotoというモデルを持っています。ペーパークリップからSpacePhoto has_attached_file :photo
。私のモデルのIDをUUIDに変更する破損したペーパークリップファイルのパス
スペースフォトが整数IDを持っていましたが、私は最近、次の移行で、UUIDにそれを変更:
class ChangePhotoPrimaryKeyType < ActiveRecord::Migration
def change
add_column :space_photos, :uuid, :uuid, default: "uuid_generate_v4()", null: false
change_table :space_photos do |t|
t.remove :id
t.rename :uuid, :id
end
execute "ALTER TABLE space_photos ADD PRIMARY KEY (id);"
end
end
URLを取得するには、私はspace_photo.photo.url
を行うだろうが、今はもはや私を与えること正しいURL。たとえば、その移行を実行する前に、私はURL https://s3-us-west-2.amazonaws.com/instally.beta/space_photos/photos/000/000/071/original/avatar.jpg?1478889772を取得します。今、私は得るhttps://s3-us-west-2.amazonaws.com/instally.beta/space_photos/photos/086/a71/a9-/original/avatar.jpg?1479167261
違いは、URLの真ん中に3文字の3つのグループですが、それらがどこから来ているのか把握するために十分なPaperclipの内部についてはわかりません。