about summary refs log tree commit diff
path: root/db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb
blob: 72b7c609d17acf08d67c88218dca7d0b599a2580 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class PreserveOldLayoutForExistingUsers < ActiveRecord::Migration[5.2]
  disable_ddl_transaction!

  def up
    # Assume that currently active users are already using the layout that they
    # want to use, therefore ensure that it is saved explicitly and not based
    # on the to-be-changed default

    User.where(User.arel_table[:current_sign_in_at].gteq(1.month.ago)).find_each do |user|
      next if Setting.unscoped.where(thing_type: 'User', thing_id: user.id, var: 'advanced_layout').exists?
      user.settings.advanced_layout = true
    end
  end

  def down
  end
end