Ticket #2404: FK_constraint_cleanup.diff
| File FK_constraint_cleanup.diff, 1.7 kB (added by anonymous, 3 years ago) |
|---|
-
vendor/rails/activerecord/lib/active_record/fixtures.rb
old new 219 219 cattr_accessor :all_loaded_fixtures 220 220 self.all_loaded_fixtures = {} 221 221 222 def self.nuke_fixtures(fixtures_directory, *table_names) 223 connection = block_given? ? yield : ActiveRecord::Base.connection 224 old_logger_level = ActiveRecord::Base.logger.level 225 226 begin 227 ActiveRecord::Base.logger.level = Logger::ERROR 228 229 connection.transaction do 230 table_names.reverse.each do |table_name| 231 connection.delete "DELETE FROM #{table_name}", 'Fixture Delete' 232 end 233 end 234 235 reset_sequences(connection, table_names) if connection.is_a?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) 236 ensure 237 ActiveRecord::Base.logger.level = old_logger_level 238 end 239 end 240 222 241 def self.create_fixtures(fixtures_directory, *table_names) 223 242 connection = block_given? ? yield : ActiveRecord::Base.connection 224 243 old_logger_level = ActiveRecord::Base.logger.level … … 491 510 ActiveRecord::Base.connection.rollback_db_transaction 492 511 ActiveRecord::Base.unlock_mutex 493 512 end 513 nuke_fixtures 494 514 end 495 515 496 516 alias_method :teardown, :teardown_with_fixtures … … 517 537 end 518 538 519 539 private 540 def nuke_fixtures 541 Fixtures.nuke_fixtures(fixture_path, *fixture_table_names) 542 end 543 520 544 def load_fixtures 521 545 @loaded_fixtures = {} 522 546 fixtures = Fixtures.create_fixtures(fixture_path, fixture_table_names)