about summary refs log tree commit diff
path: root/db/migrate/20180812123222_change_relays_enabled.rb
blob: c4fd8179be628eabd07d16c5de8caedf76f59f56 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class ChangeRelaysEnabled < ActiveRecord::Migration[5.2]
  def up
    # The relays table is supposed to be very small,
    # single-digit number of rows, so this should be fine
    safety_assured do
      add_column :relays, :state, :integer, default: 0, null: false

      # At the time of this migration, no relays reject anyone, so if
      # there are enabled ones, they are accepted
      execute 'UPDATE relays SET state = 2 WHERE enabled = true'
      remove_column :relays, :enabled
    end
  end

  def down
    remove_column :relays, :state
    add_column :relays, :enabled, :boolean, default: false, null: false
  end
end