20 lines
		
	
	
	
		
			633 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
	
		
			633 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
								 | 
							
								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
							 |