* Use ActiveRecord::Result#to_ary instead of deprecated to_hash They do the same thing, and to_hash has been removed from Rails 6.1 * Explicitly name polymorphic indexes to workaround a bug in Rails 6.1 cf. https://github.com/rails/rails/issues/41693 * Fix incorrect usage of “foreign_key” in migration script * Use `ActiveModel::Errors#delete` instead of deprecated clear method * Fix link headers tests on Rails 6.1 Rails 6.1 adds values to the Link header by default, thus it is not a LinkHeader object anymore. Fix the test to parse the Link header instead of assuming it is a LinkHeader.
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			588 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			588 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| MIGRATION_BASE_CLASS = if ActiveRecord::VERSION::MAJOR >= 5
 | |
|   ActiveRecord::Migration[5.0]
 | |
| else
 | |
|   ActiveRecord::Migration[4.2]
 | |
| end
 | |
| 
 | |
| class RailsSettingsMigration < MIGRATION_BASE_CLASS
 | |
|   def self.up
 | |
|     create_table :settings do |t|
 | |
|       t.string     :var, null: false
 | |
|       t.text       :value
 | |
|       t.references :target, null: false, polymorphic: true, index: { name: 'index_settings_on_target_type_and_target_id' }
 | |
|       t.timestamps null: true
 | |
|     end
 | |
|     add_index :settings, [ :target_type, :target_id, :var ], unique: true
 | |
|   end
 | |
| 
 | |
|   def self.down
 | |
|     drop_table :settings
 | |
|   end
 | |
| end
 |