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