Sha256: 6c7cb150cbc515e781e2c655af125d2cda0e6c74f5034098becd416f289dc01a

Contents?: true

Size: 638 Bytes

Versions: 6

Compression:

Stored size: 638 Bytes

Contents

class ConvertUserViewOptionsToProps < ActiveRecord::Migration
  def up
    add_column :users, :props, :jsonb, default: "{}"

    require "progressbar"
    users = User.all
    pbar = ProgressBar.new("users", users.count)
    users.find_each do |user|
      props = user.read_attribute(:view_options) || {}
      props["github.username"] = props.delete("github_username") if props.key?("github_username")
      props["slack.username"] = props.delete("slack_username") if props.key?("slack_username")
      user.update_column :props, props
      pbar.inc
    end
    pbar.finish
  end

  def down
    remove_column :users, :props
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
houston-core-0.8.0.pre db/migrate/20160625203412_convert_user_view_options_to_props.rb
houston-core-0.7.0 db/migrate/20160625203412_convert_user_view_options_to_props.rb
houston-core-0.7.0.beta4 db/migrate/20160625203412_convert_user_view_options_to_props.rb
houston-core-0.7.0.beta3 db/migrate/20160625203412_convert_user_view_options_to_props.rb
houston-core-0.7.0.beta2 db/migrate/20160625203412_convert_user_view_options_to_props.rb
houston-core-0.7.0.beta db/migrate/20160625203412_convert_user_view_options_to_props.rb