0
0
Fork 0

Fix Rails/BulkChangeTable cop (#26890)

This commit is contained in:
Matt Jankowski 2023-11-06 11:15:48 -05:00 committed by GitHub
parent 0c4e7c06dc
commit c501d626e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 208 additions and 107 deletions

View file

@ -2,20 +2,24 @@
class MigrateSettings < ActiveRecord::Migration[4.2]
def up
remove_index :settings, [:target_type, :target_id, :var]
rename_column :settings, :target_id, :thing_id
rename_column :settings, :target_type, :thing_type
change_column :settings, :thing_id, :integer, null: true, default: nil
change_column :settings, :thing_type, :string, null: true, default: nil
add_index :settings, [:thing_type, :thing_id, :var], unique: true
change_table(:settings, bulk: true) do |t|
t.remove_index [:target_type, :target_id, :var]
t.rename :target_id, :thing_id
t.rename :target_type, :thing_type
t.change :thing_id, :integer, null: true, default: nil
t.change :thing_type, :string, null: true, default: nil
t.index [:thing_type, :thing_id, :var], unique: true
end
end
def down
remove_index :settings, [:thing_type, :thing_id, :var]
rename_column :settings, :thing_id, :target_id
rename_column :settings, :thing_type, :target_type
change_column :settings, :target_id, :integer, null: false
change_column :settings, :target_type, :string, null: false, default: ''
add_index :settings, [:target_type, :target_id, :var], unique: true
change_table(:settings, bulk: true) do |t|
t.remove_index [:thing_type, :thing_id, :var]
t.rename :thing_id, :target_id
t.rename :thing_type, :target_type
t.column :target_id, :integer, null: false
t.column :target_type, :string, null: false, default: ''
t.index [:target_type, :target_id, :var], unique: true
end
end
end