Sha256: ef81bc693e96907d52804da1df6d60bdea61f787350b8cdb96c05a14bfc21a1b

Contents?: true

Size: 740 Bytes

Versions: 13

Compression:

Stored size: 740 Bytes

Contents

# frozen_string_literal: true

class ChangeSubscribedUsersToSet < ActiveRecord::Migration[4.2]
  def up
    contacts = connection.select_all %(
      SELECT id, subscribed_users
      FROM contacts
      WHERE subscribed_users IS NOT NULL
        )

    puts "Converting #{contacts.size} subscribed_users arrays into sets..." unless contacts.empty?

    # Run as one atomic action.
    ActiveRecord::Base.transaction do
      contacts.each do |contact|
        subscribed_users_set = Set.new(YAML.load(contact["subscribed_users"]))

        connection.execute %(
          UPDATE contacts
          SET subscribed_users = '#{subscribed_users_set.to_yaml}'
          WHERE id = #{contact['id']}
                )
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
fat_free_crm-0.22.1 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.22.0 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.21.0 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.20.1 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.20.0 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.19.2 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.19.0 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.18.2 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.17.3 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.18.1 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.18.0 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.17.2 db/migrate/20120405080727_change_subscribed_users_to_set.rb
fat_free_crm-0.17.1 db/migrate/20120405080727_change_subscribed_users_to_set.rb