Merge pull request #2232 from Pistos/postgresql-fix-photo-share-visibilities

PostgreSQL compatibility for FixPhotoShareVisibilities migration.
This commit is contained in:
Daniel Grippi 2011-10-23 18:11:38 -07:00
commit ff10f563ce

View file

@ -2,9 +2,25 @@ class FixPhotoShareVisibilities < ActiveRecord::Migration
class Photo < ActiveRecord::Base; end
def self.up
raise 'migration currently only compatable with mysql' if postgres?
return if ! Photo.first.respond_to?(:tmp_old_id)
if Photo.first.respond_to?(:tmp_old_id)
if postgres?
['aspect_visibilities', 'share_visibilities'].each do |vis_table|
execute "UPDATE #{vis_table} SET shareable_type = 'Post'"
execute %{
UPDATE
#{vis_table}
SET
shareable_type = 'Photo'
, shareable_id = photos.id
FROM
photos
WHERE
#{vis_table}.shareable_id = photos.tmp_old_id
}
end
else
['aspect_visibilities', 'share_visibilities'].each do |vis_table|
ActiveRecord::Base.connection.execute <<SQL
UPDATE #{vis_table}