class FixOptimizedImagesUrls < ActiveRecord::Migration def up # `AddUrlToOptimizedImages` was wrongly computing the URLs. This fixes it! execute "UPDATE optimized_images SET url = substring(oi.url from '^\\/uploads\\/[^/]+\\/_optimized\\/[0-9a-f]{3}\\/[0-9a-f]{3}\\/[0-9a-f]{11}') || '_' || oi.width || 'x' || oi.height || substring(oi.url from '\\.\\w{3,4}$') FROM optimized_images oi WHERE optimized_images.id = oi.id AND oi.url ~ '^\\/uploads\\/[^/]+\\/_optimized\\/[0-9a-f]{3}\\/[0-9a-f]{3}\\/[0-9a-f]{11}\\.';" end def down raise ActiveRecord::IrreversibleMigration end end