mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Remove code duplication
This commit is contained in:
parent
2a89941225
commit
44ea48efc3
1 changed files with 9 additions and 8 deletions
|
@ -871,10 +871,7 @@ module ActiveRecord
|
|||
raise UnknownMigrationVersionError.new(@target_version) if migration.nil?
|
||||
unless (up? && migrated.include?(migration.version.to_i)) || (down? && !migrated.include?(migration.version.to_i))
|
||||
begin
|
||||
ddl_transaction(migration) do
|
||||
migration.migrate(@direction)
|
||||
record_version_state_after_migrating(migration.version)
|
||||
end
|
||||
execute_migration_in_transaction(migration, @direction)
|
||||
rescue => e
|
||||
canceled_msg = use_transaction?(migration) ? ", this migration was canceled" : ""
|
||||
raise StandardError, "An error has occurred#{canceled_msg}:\n\n#{e}", e.backtrace
|
||||
|
@ -899,10 +896,7 @@ module ActiveRecord
|
|||
Base.logger.info "Migrating to #{migration.name} (#{migration.version})" if Base.logger
|
||||
|
||||
begin
|
||||
ddl_transaction(migration) do
|
||||
migration.migrate(@direction)
|
||||
record_version_state_after_migrating(migration.version)
|
||||
end
|
||||
execute_migration_in_transaction(migration, @direction)
|
||||
rescue => e
|
||||
canceled_msg = use_transaction?(migration) ? "this and " : ""
|
||||
raise StandardError, "An error has occurred, #{canceled_msg}all later migrations canceled:\n\n#{e}", e.backtrace
|
||||
|
@ -939,6 +933,13 @@ module ActiveRecord
|
|||
migrated.include?(migration.version.to_i)
|
||||
end
|
||||
|
||||
def execute_migration_in_transaction(migration, direction)
|
||||
ddl_transaction(migration) do
|
||||
migration.migrate(direction)
|
||||
record_version_state_after_migrating(migration.version)
|
||||
end
|
||||
end
|
||||
|
||||
def target
|
||||
migrations.detect { |m| m.version == @target_version }
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue