diff --git a/db/migrate/20170531144425_foreign_keys.rb b/db/migrate/20170531144425_foreign_keys.rb index b38e3ab71..64bcedab0 100644 --- a/db/migrate/20170531144425_foreign_keys.rb +++ b/db/migrate/20170531144425_foreign_keys.rb @@ -1,4 +1,6 @@ class ForeignKeys < ActiveRecord::Migration + disable_ddl_transaction! + def change # return if it's a new setup @@ -217,10 +219,12 @@ class ForeignKeys < ActiveRecord::Migration ] foreign_keys.each do |foreign_key| - begin - ActiveRecord::Migration.add_foreign_key(*foreign_key) - rescue => e - Rails.logger.error "Inconsistent data status detected while adding foreign key '#{foreign_key.inspect}': #{e.message}" + ActiveRecord::Base.transaction do + begin + add_foreign_key(*foreign_key) + rescue => e + Rails.logger.error "Inconsistent data status detected while adding foreign key '#{foreign_key.inspect}': #{e.message}" + end end end end